1.用神经网络进行情感分析
1.1 神经网络概述
前向传播(Forward propagation):
定义:逐层计算,用前一层输出*当前层权重,再通过激活函数
1.2神经网络用于情感分析
原理:使用词嵌入层、全连接层、输出层使用softmax
初始化表示:
方法:将每个单词用一个数字进行编码
2.Trax库与神经网络
2.1 Trax介绍
概述:
Trax是Google最新发布的深度学习框架,适用各类NLP任务,具有编程简单和运算速度快的特点
使用框架的优势:
更快的在CPU、GUP、TPU上进行运算
支持并行计算
自动实现底层计算
Trax框架的优势:
(1)高效编程:底层重构运算速度快、易于调试、内置多种数据库、内置多种模型
(2)运行速度快:使用JIT编译器和JAX底层,比其他框架计算速度快很多
2.2 使用Trax构建神经网络
2.2.1 类(Classes)
类(Classes):
定义:同Python的类,封装了参数和方法
实现:
子类(Subclasses):
定义:可继承父类的方法并重构
实现:
2.2.2 全连接层(Dense)
全连接层(Dense Layer):
定义:每一神经元都与下一层各神经元相连
激活函数ReLU:
定义:全连接层使用ReLU作为激活函数
计算方法:
2.2.3 序列层(Serial Layer)
定义:将其他所有层整合构成一个整体,成为序列层,即整个神经网络结构
2.2.4 其他层
词嵌入层(Embedding layer):
定义:可训练,存储词嵌入信息
均值层(Mean layer):
定义:不可训练,只计算出句子词嵌入均值
2.3 神经网络训练
神经网络示例:
计算梯度:
梯度下降:
项目代码:/Ogmx/Natural-Language-Processing-Specialization
可将代码与数据下载至本地,使用jupyter notebook打开