part1:原理介绍
什么是神经网络?这得先从简单的开始,接下来会介绍一种人工神经网络——perceptrons(视感控器)。早期的相关工作是Warren McCulloch 和 Walter Pitts进行的,后来在1950s和1960s, 科学家Frank Rosenblatt对其进行了研究并且发扬光大。然而,现在应用得比较多的是sigmoid neuron,在后续会讲解。在这里,先讲解perceptrons。
perceptrons是怎么工作的呢?如下图:
x1,x2,x3分别代表输入(input),输出(output)是二进制的,0或者1。input的个数并没有严格的限制,可以1个或多个,而output在一个perceptron里只有一个。RosenBlatt提出了一个规则去计算output:设置权重w1,w2,….,等等,用实数代表每个input对于output的重要性,而output则由下式决定,其中threshold是临界值的意思:
这就是perceptron的工作原理。
part2:一个简单例子
你非常喜欢吃奶酪,最近市区里要举行奶酪节,但是你不知道去还是不去。以下有几点你需要考虑的条件:
- x1: 天气好吗?
- x2: 你的另一半会和你一起去吗?
- x3: 节日举办地点交通是否便利?
x1=0代表天气不好,x1=1代表天气好,其它都按这个规律来。
而你有个特性,就是非常喜欢奶酪,无论有没陪同,交通多么不好,可以一旦遇上坏天气,你就提不起劲,所以你设置权重w1=6(天气的权重),w2=2(另一半的权重),w3=2(交通的权重)。可以看出天气的权重最大,这说明天气因素非常重要。当你把threshold设置为5,那么只要天气好,output就等于1,也就说明你会去;只要天气不好,output就等于0,也就说明你不去。
通过对threshold和weight的设置,可以得到不同的决策模型。例如设置threshold为3。当天气好的时候或者x2=1,x3=1成立的时候,这个perceptron会决定你去参加节日。换句话说,这是另一种决策模型,降低threshold意味着你更愿意去参加节日。
part3:更复杂的模型
人脑觉得没有这么简单,不过perceptron向我们展示的是,通过衡量不同的方面,不同的事实,来做出决策的方案。下面是一个更加复杂精妙的模型:
显然,图上的神经网络,可以分成两个层次的perceptrons,第一层有3个perceptrons,第二层有4个。当然,也可以设置第三层,甚至四层等。通过这种方法,能够表达更加复杂和抽象的决策。
细心的读者可能会发现,上面的perceptrons有多个output,其实是代表一个,只是这一个output可能用于多个下一层的perceptrons
part4 更进一步
其中有如下定义:
这只是换了一种形式表达一开始给出的式子,累加用向量形式表示,用b代表threshold的相反数。可以认为b代表让output达到1的容易程度。或者从生物学角度看,b衡量了激活perceptron的容易程度。