上节课我们讲解了神经网络是如何解决验证码识别问题,这节课我们开始讲解神经网络的组成要素神经元,神经元具体是如何工作的;是如何组成神经网络;神经元的数学表达式。 ; {( ?9 [+ C4 u/ p+ l
首先我们来看一下什么是神经元?我们以生物体的神经元来做类比,比如人脑的神经元是如何工作和构造的?首先我们看下面这副图。
Y5 r" F K9 a8 @* f ~; U) S
神经元如何组成神经网络?(3)
" H# ? u% G; f如示意图所示,它是由树突、轴突,还有连接树突和轴突的细胞核来组成。树突负责接收其他神经元传过来的信号,由神经细胞核汇总树突传过来的信号量,如果信号量超过了一个阀值,则细胞核通过轴突把信号传递给其他神经元。 & m: |) R! {3 w+ F. g. X% C
具体工作过程见下图:
3 u4 L2 w P- p! X# `. Y
) \1 f; X- i$ g. b
神经元如何组成神经网络?(3)
8 ~8 E1 Z+ d A/ d1 T; h
) f: B0 F& g: P: g2 M+ d" J神经细胞接收到树突传过来的信号之后,就开始变红并判断是不是应该输出信号,如果输入的信号之和小于阈值则不输出任何信号,反之则输出大小固定的信号。为什么有阈值这个要求,其实也非常好理解,我们看喜剧之所以会笑,是因为神神经脑细胞传递出来的这个信号超过了我们的笑点,所以我们就笑了,笑点就是阈值。输出信号就是笑和不笑,也可以这样表示,笑用1表示,不笑用0表示。
% e, Y) G: P9 g u% h3 O# r6 t, Y整个过程看下图:
4 C) A; L) u' D7 N9 M0 r! V) ~* K7 e8 `
神经元如何组成神经网络?(3)
" w" _, k( G( W( V9 X- p3 L* ~( K6 B. t0 v% A
整理神经元工作结构如下: 1. 来自其他多个神经元的信号之和成为神经元的输入。 2. 如果这个信号之和超过神经元固有的阈值,则点火。 3. 神经元的输出信号可以用数字信号0和1来表示,即使有多个输出端,其值也是同一个。 7 A6 \5 J; V& Q. b; t+ J9 M
在上述3点基础上,我们尝试用数学的方式来表达神经元的工作结构。我们可以用数学式表示输入信号,由于输入信号是来自相邻神经元的输出信号,所以根据第3点输入信号,也可以用有、无两种信息表示,因此用变量X表示,输入信号时如下所示。
, X# Q$ A2 O) [, M
; a" O" r" H* [$ k& G
神经元如何组成神经网络?(3)
. [# e$ M/ I$ w" i8 {
, d# n, f! s7 T7 E0 _$ m4 R4 A接下来我们用数学式表示输出信号,根据第3点输出信号可以用来表示点火与否的“有”“无”两种信息来表示,因此用变量y表示输出信号如下所示。 * u# J3 S6 [& ~1 k
神经元如何组成神经网络?(3)
9 Q s! R2 ]- R/ w! F
从第1点和第2点可知神经元点火与否是根据来自其他神经元的输入信号的和来判定的,但是这个求和的方式应该不是简单的求和,比如我们在看喜剧小品的过程中之所以会笑,是因为我们看到了演员浮夸的表演,而不仅仅是听到了台词,在看喜剧表演的过程中,很明显视神经细胞所发出的信号量要明显高于听觉带来的信号量,所以对于输入信号的和大脑是通过改变权重来求和的。那么这个改变权重来求和是如何用数学的方式来进行表达呢?仔细看下面这幅图。
- o# `+ Y. A7 ?
神经元如何组成神经网络?(3)
' z2 o9 g2 r, L6 `; A
我们得到了图中的公式1,W1X1+ W2X2 + W3X3 。 4 \0 N# \ C* v& }; r# }8 f" x2 v
根据我们总结的第2点,神经元在信号之和超过阀值时点火不超过阀值时不点火,于是利用公式1,点火条件可以如下公式2表示。
% e% m9 k1 @) ]" w1 c( ~) T下面呢,我们将点火条件公式2图形化,以神经元的输入信号之和为横轴神经元的输出信号,y为纵轴将公式2用图形表示出来,如下图所示。当输入信号之和小于θ时,y取值0,反之y取值1。
. h* J2 q, E5 k2 E+ t
( ?$ S0 x! z( \
神经元如何组成神经网络?(3)
5 L$ U+ u5 L2 T, n2 V: g% d, L+ j
) M S+ X; v0 p6 i如果我们要用一个函数来表示这个图形,就需要用到下面的单位阶跃函数。其图形如下图所示。 / w! }# N q1 m
神经元如何组成神经网络?(3)
% `# J: J; R" d4 I7 x6 j. x. t
利用单位阶跃函数,公式2就可以用公式3来表示, 5 {6 l9 d0 r2 j; l
* a6 n: I2 m e! r5 X9 ~3 i
神经元如何组成神经网络?(3)
7 d7 s& U, c3 L2 ^' c: a/ V3 O4 H# B: I6 g4 `8 c& d1 w9 ?' c
通过下面这个表格可以证明公式2和公式3是等价的。 " z: N" Y B2 q& c) x8 \
P) y5 m# J4 b
神经元如何组成神经网络?(3)
' I* K. V- I6 F1 ~9 G. k/ V2 H; R6 E( K5 B+ l! }1 l! c
给大家留个作业吧:
: C- E) f/ i& @$ Q% e! d2 @如果你是产品经理,面向算法 工程师提出实现神经元的需求,你要怎么提?如果你是算法工程师,你需要得到什么样的需求,才能够给出神经元的数学表示?
: R/ a9 i! a4 R; ^$ B. _: m- n5 s |