瞎说神经网络&深度学习

还没有搞定机器学习,又开始惹上深度学习,反正二者有太多一样的思维。

很多人把深度学习称为神经网络的别名,也不是没有道理,基本上后面起作用的都是神经网络算法,数学家真是牛,能把那么复杂的现实问题,转化为数学问题,更重要的是,这些数学问题得到了解决。

最近买了本《深度学习的数学》,号称用excel就可以实践,很是诱人。买回来发现书很小,居然是32开本的,看了一下页数,二百来页,难怪,内容不够丰富。不过呢,写的比较浅显,和程序员的数学那套书很类似,恰巧,这本书也是日本人写的。作为入门书,还是不错的,至少对我来说,这本书应该会是对我有重要影响的书。

那么,深度学习到底是怎么回事?当然我是讲不清楚的,从这本书里,我更多的是了解到了神经网络是怎么工作的,这个概念和思维,应当是比较重要的。

简单的说,神经网络应当是有监督训练的一种,我不确定我的说法是否正确或准确,但从这本书里接受到的信息,大致是如此。一个基本的神经网络至少包括输入层、隐藏层和输出层。输入层就是我们喂给计算机的数据了,输出层自然是我们想要的结果,那么中间的隐藏层就是决定了效果的关键环节了。

但事实上,在确定输入层的时候,就需要把输入数据分割成若干小块,并定义若干个输入识别模式和权重,在隐藏层独立判断每个小区块的识别结果,当达到某个阈值时,则输出相对应的结果。所以我总觉得神经网络算法实际是一个有监督的训练算法,因为在输入层的时候,需要分解并定义输入识别模式(神经元),实际上就是先定义好这个东西是什么,然后让计算机来告诉我们,你刚才吃下去的是不是我定义好的东西,如果是,那就输出定义好的结果。如果不是呢,或者遇到一些变形、变异的呢?没关系,多定义几个就好了,但是我们也没法完全预先定义好所有的可能,那用一个线性组合好了,只要多数模式(神经元)觉得这个人叫张三,那他就是张三了。所以,神经网络算法涉及到的参数很多,成千上万,算法运算过程很复杂,时间成本很高。那不高才怪了。

当然,以上都是在瞎说,下面给出一个比较专业的描述

模型中任意一个神经元选择性地(注意:选择性)以其他神经元的输出作为输入,这些输入的线性组合被激活(注意:激活)后又被当作其他神经元的输入,这样逐级(注意:逐级)处理后,某些神经元的输出组合(注意:组合)被认为是最原始输入的客观反映。这是最早的前向神经网络概念。在这样的模型中,线性组合是关键概念之一,组合建立起了各神经元之间的关系,而组合过程中采用(注意:严格意义上讲是获取)的组合因子倾向于激励或者抑制某种输入成分。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注