[Day16] NLP会用到的模型(一)-前言

一. 神经网路

目前许多强大的NLP Model现在都是以神经网路为基础的模型,所以需要先了解以及认识神经网路的架构,一个神经网路的图如下,X经过一个Neuron计算後得到Y,可以想像成是一个 WX = Y 这样的一个式子:
https://ithelp.ithome.com.tw/upload/images/20210916/201404269hIWgXa7op.png

多个Neuron如下,X是一组特徵,2层Layers:
https://ithelp.ithome.com.tw/upload/images/20210916/201404262PaA1kY748.png

没错,神经网路包含了一个输入层(input layer)、一个以上的隐藏层(hidden layers)、以及一个输出层(output layer),然後不断的经过SGD、BP等方法进行里面的权重学习,至於训练方式,可以参考李宏毅老师youtube的影片或是coursera上吴恩达老师开的课程,说明的非常详尽,这边主要是有模型的概念即可~

下面这张图是吴恩达老师上课时举出来深度学习在监督式学习的一些任务:
https://ithelp.ithome.com.tw/upload/images/20210916/20140426AvwFqQfZtZ.png

二. Sequence Model

各位可以看到上述一般的NN模型在input data当中是互相独立的,并无法考虑其他feature带来的效益。那如果像我们今天要处理的一个句子/文章,由前面的一些模型像是n-gram、word2vec这些模型都考虑了上下文以及过去的文字,毕尽当一个人在阅读一篇文章或一个句子时,我们会理解每个字的含义,再往下读对吧正常是不会不管这一点,重新开始思考。人类的思考是连续的,但是上述的神经网络无法做到这一点所以就有了时序模型(Sequence Model)的出现拉~~

那其中最基本、最典型的model非RNN(递回神经网路)莫属拉~RNN模型算是一种可以无限记忆前面发生什麽事情的神经网路,把每一次输入所产生的状态都保存下来,也就是隐藏层,然後再跟着下一次的输入一起输出给下一个单元,示意图如下,图片来自Coupy的'NLP 深度学习马拉松':

https://ithelp.ithome.com.tw/upload/images/20210916/20140426rHVPsYRoHI.png

从上面可以知道,X(t)经过一个RNN单元後会产生2个output,一个是Y(t)与h(t),h(t)会在作为下次的input与X(t+1)在经过这个RNN单元,最後output Y(t+1),Y的部分就是看任务需要output几个,这个明天再介绍时会说到~将上述这张图展开会如下,图片一样来自Coupy的'NLP 深度学习马拉松':
https://ithelp.ithome.com.tw/upload/images/20210916/20140426vULSezkjsQ.png

从这些图片就可以了解h(t)就是这个时间点的状态,将他加入下个时间点的输入X(t+1),让後面的资讯都可以考虑到前面的资讯,这就是RNN~~


明天会开始说明LSTM/GRU这些RNN的变形~~


<<:  Day3.编译器运作流程介绍

>>:  Day 2:414. Third Maximum Number

Day 8 情报收集 - Information Gathering (SSL Analysis)

谈到资安,一定绕不开常听到的安全协定SSL、TLS,透过安全协定建立起的连线,在交换资料时保证通讯双...

Day 21:在 Hexo 增加作者版权声明(使用 Next 布景)

内容发布到网路上,由於都是开放的,不管是你写的文章、拍摄的相片或是影片,有一定的机率会被转贴。有些人...

DAY 13 Big Data 5Vs – Variety(速度) Glue(1) Crawler

轻巧有弹性的Lambda能解决转档、压缩等简单的处理运算,然而在AWS上如果要建立基本完整的ETL流...

D12/ 我要怎麽用动画改变中的资料? - Animations

今天大概会聊到的范围 Animation 上一次有聊到,我们可以透过 Gesture 和 Stat...

Day 28 - 重要的钥匙要藏好

越接近完赛越害怕自己今天到底发文了没!这几天早中晚都会反覆确认有没有发文,毕竟坚持30天写技术文章那...