前言
因为近期学习的需要,需要学习一下theano的使用,在网上发现了莫烦python的视频,感觉还可以,以此做一个学习笔记,分享及便于日后查询。该笔记我会尽量以简洁易懂的方式进行记录,同时也会加入自己的一些想法和看法(一般会标红或者加粗等标记一下)。
1.1 科普:人工神经网络 VS 生物神经网络
生物神经网络
- 900亿个神经细胞构成
- 婴儿期的神经元还并没有形成系统和网络,只是一些分散的细胞而已。通过生活中一些有意义的事情的激励,神经元之间产生了联结,从而产生了记忆。
人工神经网络
- 一般在讲人工神经网络的时候,都指的是已经形成体系的人工神经网络(所有的神经元之间的连接都是固定不可更换的,这就是说,在人工神经网络里,没有凭空产生联结这一回事。这也是人工神经网络并没不会替代生物神经网络的原因之一)
- 通过上一条可以看出,人工神经网络只是模仿了生物神经网络的一个学习过程(类似与一种优化过程),人工神经网络不会产生新的联结。
生物神经网络和人工神经网络的本质区别
人工神经网络靠的是正向和反向传播来更新神经元,从而形成一个好的神经系统,本质上,这是一个能让计算机处理和优化的数学模型。
而生物神经网络是通过刺激,产生新的联结,让信号能够通过新的联结传递而形成反馈。
我的理解,人工神经网络只是对生物神经网络从结构上和从学习过程上的一种模仿。两种网络的学习过程非常类似,都是通过经验数据不断的反馈而习得。只不过,人工神经网络是不能产生新的联结的,只能优化更新已经存在的神经元,而生物神经网络是产生新的联结。也就是说,人工神经网络中“更新神经元”的操作,对应着生物神经网络中“产生新联结”的过程
1.2 什么是神经网络(Neural Network)
- 是一种计算模型、数学模型
- 神经元可以被训练和强化
- 由多层神经元构成,每一层拥有不同的名称,比如,输入层,隐藏层(可以有多层)、输出层。
- 每一个神经元都有一个刺激它的激励函数,通过误差的反向传播,来调整神经元的敏感性。
1.3 神经网络 梯度下降
- 神经网络实际上是术语“optimization”这个家族中的一员,它术语梯度下降法这个分支中的一个。
科普:神经网络的黑盒不黑
- 与其说黑盒是在加工处理,还不如说在讲一种代表特征转换成另一种代表特征,一次次特征之间的转换,也就是一次次的更有深度的理解。
- 只是因为有时候代表特征太多了,我们人类没有办法看懂他们代表的是什么,然而计算机却能看清楚它所学到的规律,所以我们才觉得神经网络就是个黑盒。
迁移学习
对于一个有分类能力的神经网络,有时候我们只需要这套神经网络的理解能力,并拿出这种能力去处理其他问题,所以我们保留它的代表特征转换能力。
Why theano
theano相对于tensorflow来说,更加学术化,如果是使用机器学习进行学术性研究,网上已经有很多使用theano的学术性资料,所以theano在这种情况下是值得推荐的,
神经网络在做什么
拟合数据