本周对Jupyter可视化、梯度下降法以及基础神经网络方面的知识进行了一个了解学习。
import numpy as np
import matplotlib.pyplot as plt
x = [1,4,5,2]
y = [4,5,8,9]
y1 = [44,32,12,22]
plt.figure() #创建新的图形窗口
plt.subplot(2,3,1)
plt.plot(x,y) # 折线图
plt.subplot(2,3,2)
plt.bar(x,y1) # 柱形图
plt.subplot(2,3,3)
plt.barh(x,y1) # 横向的柱形图
plt.subplot(2,3,4)
plt.scatter(x,y1) # 散点图
plt.subplot(2,3,5)
plt.pie(y1) # 饼图
plt.show()
import numpy as np
import matplotlib.pyplot as plt
# 定义 y=x^2+1 函数
def function(x):
x = np.array(x)
y = x ** 2 + 1
return y
# 指定自变量更新的次数(迭代的次数)
epochs = 50
# 指定学习率的值
lr = 0.1
# 对自变量的值进行初始化
xi = -18
# 求取函数的梯度值
def get_gradient(x):
gradient = 2 * x
return gradient
# 用于存储每次自变量更新后的值
trajectory = []
# 利用梯度下降算法找到使得函数取最小值的自变量的值x_star
def get_x_star(xi):
for i in range(epochs):
trajectory.append(xi)
xi = xi - lr * get_gradient(xi)
x_star = xi
return x_star
# 运行get_x_star函数
get_x_star(xi)
x1 = np.arange(-20, 20, 0.1)
y = function(x1)
# 画出函数图像
plt.plot(x1, y)
x_trajectory = np.array(trajectory)
y_trajectory = function(trajectory)
# 画图更新过程中的自变量与其对应的函数的值
plt.scatter(x_trajectory, y_trajectory)
plt.show()
在这个模型中,神经元接收到来自N个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接进行传递,神经元接收到的总输入值将与神经元的阈值threshold进行比较,然后通过“激活函数”activation function处理以产生神经元的输出。
阈值也可以刻画成符号相反的偏置bias
激活函数在神经元中非常重要。为了增强网络的表示能力和学习能力,激活函数需要具备以下几点性质:
①连续并可导(允许少数点上不可导)的非线性函数。
②激活函数及其导函数要尽可能的简单。
③激活函数的导函数的值域要在一个合适的区间内,不能太大也有不能太小。
修正线性单元(Rectified Linear Unit, ReLU)
ReLU(z) = max(0,z) 缺点:当z为负时,导数等于0
Leaky ReLU函数:当z为负时,函数不等于0
人工神经网络的真正魅力在于它将多个神经元结构构成网络,从而获得强大的表示能力。根据网络的结构特性,神经网络有多种类型。较流行的是前馈神经网络。
前馈神经网络中,各神经元从输入层开始,接收前一层输入,并输出到下一层,直至输出层。整个网络中无反馈,可用一个有向无环图表示。
前馈神经网络是最早发明的简单人工神经网络,前馈神经网络也经常称为多层感知器(Multi-Layer Perceptron,MLP),但多层感知器的叫法并不是十分合理,因为前馈神经网络目前大多是由sigmoid激活函数构成,而不是由阶跃型激活函数构成。
本周阅读了Interlanguage of Automatic Speech Recognition。
自动语音识别(ASR)中的语音特征是从中介语使用者身上发现的。大量的研究已经使用 ASR 作为工具将语音形式转换成文本形式。最初,它提取一个演讲的特征和元素,包括语音特征。负迁移是二语学习者有意或无意地将各自的母语规律带入二语的一种现象。此外,它在这个过程中创建了一种新的语言,称为中间语言。在中介语中可以发现负迁移现象,这是二语学习者普遍经历的现象。这种现象最有可能在其各自的第一语言(L1)的语音特点研究。本文采用不同的模型、技术和算法,研究了不同 ASR 语音特征中的负迁移现象。此外,我们还提出了各自的语音学模型,以突出为什么会出现负迁移现象。
语音处理中的问题:针对语音信号的不同状态,无论是在时域还是频域,线性还是非线性,平稳还是非平稳,研究人员都提出了不同的技术。Gumelar 等正在进行一项关于语音信号特征提取成功的研究,他们从语音信号中提取频谱信息来发现包含在时域中的隐藏信息。此外,Gumelar 等人使用希尔伯特-黄变换(HHT)方法进行了强有力的数据分析。
言语的本质和人类对言语本身的感知问题:言语自然是没有停顿的,然而人类会在说话的过程中、之后或之前使言语停顿和停止。通常情况下,人类也会故意停顿。这使得将波形翻译成一系列单词,如果不是有意的话,相当困难。
音频信号进入 ASR 对其信号进行处理,并提取其特征。去除了一些噪声和失真,然后将时域信号转换成频域信号。ASR 还根据声学模型提取特征向量。该声学模型包括语音和声学知识,然后为变长特征序列生成分数(AM 分数)。语言模型从训练语料库中学习单词之间的相关性,然后生成分数(LM 得分)。
中介语中存在三种错误,尤其是在错误感知阶段,造成错误发音。这三个错误,即插入(通常是元音) ,删除(元音和辅音)和替换(音素)[6]。在 Meisel [10]的研究中,他们研究了法语(作为母语)和德语(作为母语)之间的中介语过程的错误率。其中指出,如果误差率超过20% ,则认为是“高”误差。错误率由字错误率(WER)[3]计算。水分利用率通常用于测量误差,这是从莱文斯坦距离中得出的,测量的是单词而不是音素。
公式:WER = (S + D + I)/N
S = 取代数
D = 删除次数
I = 插入的次数
本周学习并用python实现了梯度下降法,了解了基础神经网络,从这段时间学习接触神经网络以来,明显感觉有一些吃力,和其他同学存在了一定的差距,希望通过后期的学习可以尽快追赶上来。