硅基人还设计了两种用来学习词语向量的方法,一种是根据上下文预测当前词语,另一种是根据当前词语预测上下文。在进行着两种任务的学习过程中不断更新参数,使得预测得结果更准,最后产生的每个词汇的向量就是词向量。硅基人对得到的词向量进行了一些数值上的验证,效果甚佳。
关于数据,硅基人计划通过收集每种语言环境下的具体所指,包括物理实体及其关系亦或是情绪、思考等抽象概念,获得一大批数据来训练神经网络模型。但是考虑到收集这样的语言数据消耗大量的资源,而且星际飞船能源补给出现问题,需要紧急返航以补充能量,而且硅基人的生命周期太长,下次来的时候地球语言可能已经发生了几代的更迭,数据收集的代价过大,也正是出于这样的考虑,硅基人才设计了这个可以智能“学习”的神经网络模型。硅基人决定一次性收集一批语料作为启动数据,让神经网络结构自动学习这样的语言,并且在硅基人的星际飞船回航期间可以跟随地球语言的发展不断更迭,通过翻译加强文明发展和沟通。
说到这里有必要解释一下,硅基人的星际飞船每个人的分工十分明确,每个具体任务由主副两位负责。其中硅基人0_1号专门负责融入策略制定,也就是他们决定是否以语言或者其他领域作为突破口,0_2是他的副官;硅基人1_1号完成策略实现,包括实际模型的设计与实现,对效果的把控,1_2是其副官;当然还有其他若干的任务,比如负责星际飞船的能源供给、负责规律武器的运营和星际飞船的安全等等。
随着地球上文明的发展,硅基人1_1号设计的word2vec效果逐渐难以满足需求,硅基人1_2号开始着手面向具体任务的模型设计与实现。
02
—
掉书袋
【1】 上述情节引出了word2vec(词向量,硅基人第三次将词语映射为数值的尝试部分就是word2vec)、神经网络、反向传播等深度学习的基础概念,只阐述其思想,不阐述细节。
【2】神经网络的基本结构可以参考感知机模型或者svm模型,深度学习是以神经网络为基本的模型结构,在一定程度上模仿了人类大脑的一些生物学特征,比如神经元、神经连接、激活函数等。
【3】激活函数对来自神经元的加权信号进行非线性映射,这是神经网络结构的深度学习模型可以理论上拟合任意函数的重要基础。
【4】上述情节中硅基人第二次尝试将语言映射为可计算的数值实际上是nlp技术中的one-hot,词向量在某种程度上来讲,本质还是one-hot,只不过是one-hot向量与一个参数向量或者参数矩阵相乘得到的一个压缩后的向量。在工程实践中这个one-hot向量中的1的位置实际上就相当于字典序,直接索引到对应的指定维度的向量。
【5】反向传播是以梯度下降算法为基础,通过计算梯度寻找当前的最优值(可能是最大值也可能是最小值),然后更新全部网络结构的参数,循环往复直到模型参数达到全局最优。
【6】上文提到的用于学习词向量的两种方法,其中当前词预测上下文是skip-gram;用上下文预测当前词是cbow(连续词袋,continuous bag of words)。
03
—
参考文献
1. 词向量的本质:<a href="https://zhuanlan.zhihu.com/p/26306795/" target="_blank">https://zhuanlan.zhihu.com/p/26306795/</a>
2. 词向量的一些性质:<a href="https://spaces.ac.cn/archives/4677" target="_blank">https://spaces.ac.cn/archives/4677</a>
比奇屋 www.biqi5.com