神经网络与深度学习

什么是神经网络

2021-07-09  本文已影响0人  ddup

概述


简而言之,神经网络就是函数:输入数据,输出结果。

函数


我们以MNIST手写数字图像识别为例,来定义一下对应的函数形式:

这是神经网络的一个入门级应用,输入是一张低分辨率(28 x 28)的黑白图片,对应的是一个拥有784个输入变量的函数。如果是一张百万像素的彩色图片,对应的输入变量就会达到300万个。

由此可见,用神经网络解决的都是一些复杂的问题,对应的也是复杂的函数。实现算法就是要构造对应的函数。

如此复杂的函数如何构造呢?我们可以从简单的函数开始,最简单且最成功的的例子就是数字电路。

数字电路


数字电路是计算机的基石,构建了我们庞大的数字世界。但是其核心却是由与、或、非逻辑门所构成。

什么是逻辑门?其实就是函数。而且都是最简单的函数。

逻辑门 表达式 函数形式
与门 AND x \land y z = \land(x, y)
或门 OR x \lor y z = \lor(x, y)
非门 NOT \lnot x y = \lnot(x)

非门NOT

x \lnot x
T F
F T

与门AND、或门OR

x y x \land y x \lor y
T T T T
T F F T
F T F T
F F F F

与门图像

或门图像

组合逻辑门

将简单的逻辑门进行组合,可以获得更强大的函数。

构造新的二元函数:

构造多元函数:

通过对简单函数的复合,可以构造复杂的函数。这一思想也适用于神经网络。

神经网络


神经网络也是函数。像数字电路一样,它也是由简单的函数复合而成。数字电路的基本单位是与、或、非门,而神经网络的基本单位则是神经元。

神经元

那什么是神经元呢?生物神经元是一个细胞,有输入的树突,有输出的轴突。而神经网络上的神经元是人工神经元,它也是一个函数,更准确地说,它是一类函数。

神经元的输入数量是可以变化的,也就是说它代表的是一个n元函数f(x_1, ..., x_n),而不同神经元的n是可以不同的。

神经网络

神经元之间相互组合,就构成了神经网络。如下图所示:


该神经网络包含三个神经元:

神经网络所代表的函数为:
f(x_1, ..., x_n) = f_3(f_1(x_1, ..., x_n), f_2(x_1, ..., x_n))

问题


神经元所代表的函数到底是什么?

只知道是个n元函数可不够,数字电路中的基本单元与、或、非门可都是列出了真值表,画出了图像的,而神经元呢?

参考软件


可交互图表版本,请参考: 神经网络与深度学习
上一篇 下一篇

猜你喜欢

热点阅读