Press "Enter" to skip to content

何谓 Artificial Neural Netwrok?

概要

 

Artificial Neural Network(ANN) 是类神经网路当中的基础元素,里面有几个名词是你会一直听到而且需要寄起来的,activation function(激励函数)/ cost function(损失函数)/ gradient descent(梯度下降)/ back propagation(逆推)/ overfitting(过度拟合),这些名词会在稍后的文中慢慢补齐与介绍,学会 ANN 这个基本元素之后,就可以去了解更多层次的内容,也就是现在大家常提及的 Convolutional Network(CNN)/ RNN/ LSTM/ GAN 等。

 

应用说明

 

C onvolutional Neural Network(CNN): 目前最常被应用在图像辨识上的架构,可以让电脑学会如何分辨动物,当我给电脑照片时,他可以回答我这是狗还是猫,而且正确率还可以高达 97%

图源来自: Dzone

R ecurrent Neural Network(RNN): 为一种用在处理 Series data 的神经网路。例如说文字是一种序列数据,我们可以藉由 RNN 的架构,来帮助我们预测下一段文字,这个功能已经在 email 上可以看到了,而且还有推荐功能。

图源自: Orielly media

L STM: LSTM — Long term short term Memory, 具有长短记忆的神经网路, 是一种为了解决长序列不容易遗忘过去的一种架构,这可以适用于股票,藉由过去这家公司一年来的表现,来推测出他下一期是上涨是下跌。

图源来自: datacamp

G AN: 生成对抗网路,超级炫砲的东西,主要是由两个 CNN 所组成,可以让电脑自己产生毕卡索的画像,运作机制是这样,一个 CNN 负责製造资料,另一个 CNN 负责检验资料是否合理。例如说:让这个 CNN 学习怎幺画一匹马,接着另一个 CNN 负责跟他说:「诶,你这匹马有太多眼睛了喔」,像这样。

图源来自: CycleGANBlog

ANN 介绍

 

假设我们想要看明天台中会不会下雨好了,这时候我们最常做的事情就是打开手机去看天气app,这时上面写说高达 61% 的下雨机率,但你明天其实有规划出门,所以你会想要看到下雨机率比较低的数字,于是乎,你又打开了 google 在关键字打上「台中 天气预报」,这时上面的数字为 47%,不死心的你接着打开气象局预报,最后你找到了 83% 的数字,你心里想一想,就先相信气象局的吧,于是打电话跟朋友取消了明日的行程。结果天气大好,这时候你就不怎幺相信气象局的资料了,反而觉得原先的两个还比较可信,这个就是 ANN 的精神了。

图源来自: good audiance

见上图,左边的线条就是代表着各种气象资讯来源,你也可以想像成气象站,接着对于哪几个的相信程度到哪边,上面就给了几%的信心程度,也就是权重值,然后加上杂讯,也就是 bias,最后经过一个 activation function ,这就是结果了。

 

Activation function(激励函数)介绍

 

什幺是 activation function 呢?激励函数是一个连接现实世界跟数位世界中间的桥樑,就拿刚刚的气象资讯来说好了,[w1, w2, w3] = [0.3, 0.7, 0.1],[x1, x2, x3] = [4, 1, 3] ,如果这个值,y = w1*x1 + w2*x2 + w3 * x3 + b 没有 > 1 的话,我们就说明天不下雨,反之,就认为明天会下雨。这里会有个 threshold

图源来自: intmath

我的结果需要 > 1 ,也就是落在点上,才会下雨。好,那如果我们将结果改成机率来看待的话呢?例如说: 0.65 或是 0.32 或是 0.45 等,才说是不是会下雨

图源来自: good audience

这个 function 就叫做 sigmoid ,你可以得到一个比较 gentle 的结果

图源来自: good audience

那这个就是常听到的 activation function,Relu,就是大家近期发现效果很好的激励函数。

 

Cost function(损失函数)介绍

 

Cost function 是机器学习当中很重要的一项技艺,他量化了 Neural Network 应该出来的值与 Neural Network 现有的值。例如说:我这张照片上面是一只狗,我出来的判断结果就应该是狗,结果回传结果是猫,这样就不对了。这就代表我们的模型训练的判断程度还不够,例如说这次出来我模型只有 79% 的正确率,我使用 MSE(Mini square error) 作为我描述预测的模型,下一次 Neural Network 学习到的新结果会反映在这上面,另外一个常用的 cost function 为 cross-netropy

 

Gradient descent(梯度下降)介绍

 

那我们要怎幺从错误中学习比较好的结果呢?这时候就必须派 gradient descent 上场了,他的用一是在寻找最低的 cost function

图源来自: Oriely med

backpropagation介绍

 

我们在 Gradient descent 已经有修正出来的结果了,现在我们要把欲修正的资讯推送回到 Neural Network ,这时候就是使用 backpropagation,他会一层一层地把值慢慢修正回去,就像是波一样。

 

截至目前为止,将会是你在学习 Artificial Neural Network 时会接触到的必备知识与常见名词,之后我们会接着继续谈更多状况。

Be First to Comment

发表回复

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