神经网络基础

本文介绍了人工神经网络的基础知识,包括神经元的结构和功能,激活函数的重要性质,前馈神经网络的构造,以及防止过拟合的正则化技术。此外,还提及了FastText模型在文本分类中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

人工神经网络

        人工神经网络(Artificial Neural Network,ANN)是指一系列受生物学和神 经学启发的数学模型。这些模型主要是通过对人脑的神经元网络进行抽象,构 建人工神经元,并按照一定拓扑结构来建立人工神经元之间的连接,来模拟生 物神经网络。在人工智能领域,人工神经网络也常常简称为神经网络(Neural Network,NN)或神经模型(Neural Model)。

神经元

       人工神经元(Artificial Neuron),简称神经元(Neuron)也叫感知器,是构成神经网络的基本单元,其主要是模拟生物神经元的结构和特性,接受一组输入信号 产出输出。

        生物学家在20世纪初就发现了生物神经元的结构。一个生物神经元通常具 有多个树突和一条轴突。树突用来接受信息(输入层),轴突用来发送信息(输出层)。当神经元所 获得的输入信号的积累超过某个阈值时(激活函数),它就处于兴奋状态,产生电脉冲。轴突尾端有许多末梢可以给其他个神经元的树突产生连接(突触),并将电脉冲信 号传递给其它神经元。

一个神经元(感知器)有如下组成部分:

  • 输入权值 一个感知器可以接收多个输入(x_{1},x_{2},...,x_{d}| x_{i}\epsilon \mathbb{R}),每个输入上有一个权值 \omega _{i}\epsilon \mathbb{R},此外还有一个偏置项b\epsilon \mathbb{R},就是上图中的b

  • 激活函数 感知器的激活函数可以有很多选择,比如我们可以选择下面这个阶跃函数来作为激活函数:

  • 输出 感知器的输出由这个公式来计算y=f(\omega \cdot x+b)

激活函数

        激活函数在神经元中非常重要的。为了增强网络的表示能力和学习能 力,激活函数需要具备以下几点性质: 

  • 连续并可导(允许少数点上不可导)的非线性函数。可导的激活函数可以 直接利用数值优化的方法来学习网络参数。
  • 激活函数及其导函数要尽可能的简单,有利于提高网络计算效率。
  • 激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小, 否则会影响训练的效率和稳定性。

      常见的激活函数有sigmoid、tanh、relu,

推荐文章:26种神经网络激活函数可视化英文链接

                  前馈神经网络

前馈神经网络

        一个生物神经细胞的功能比较简单,而人工神经元只是生物神经细胞的理 想化和简单实现,功能更加简单。要想模拟人脑的能力,单一的神经元是远远 不够的,需要通过很多神经元一起协作来完成复杂的功能。这样通过一定的连 接方式或信息传递方式进行协作的神经元可以看作是一个网络,就是神经网络。目前最常见的神经网络结构有三种:前馈网络、反馈网络、图网络。本次只讲前馈网络。

       前馈网络中各个神经元按接受信息的先后分为不同的组。每一组可以看作 一个神经层。每一层中的神经元接受前一层神经元的输出,并输出到下一层神 经元。整个网络中的信息是朝一个方向传播,没有反向的信息传播,可以用一 个有向无环路图表示。前馈网络包括全连接前馈网络和卷积神经网络等。

       前馈神经网络的目的是对于输入 [公式] ,假设我们要模拟从输入到输出的真实函数 [公式] ,神经网络想要找到这样的映射 [公式] 和合适的参数 [公式] 使得其预测尽量接近于真实函数[公式]

正则化

      机器学习的关键问题是泛化性,即要避免过拟合。由于神经网络的拟合能力强且过度参数化,导致模型的泛化性很差。如何提高神经网络的泛化能力?通常做法是正则化、Dropout。

      正则化(Regularization)是一类通过限制模型复杂度,从而避免过拟合,提 高泛化能力的方法,包括引入一些约束规则,增加先验、提前停止等。

l_{1}和l_{2}l_{2}正则化

       正则化主要是在目标函数后额外添加一项,作为惩罚项。

数据增强

        深层神经网络一般都需要大量的训练数据才能获得比较理想的效果。在数 据量有限的情况下,可以通过数据增强(Data Augmentation)来增加数据量,提 高模型鲁棒性,避免过拟合。目前,数据增强还主要应用在图像数据上,在文本等 其它类型的数据还没有太好的方法。

权重衰减

     在每次参数更新时,引入一个衰减系

提前停止

        由于深层神经网络的拟合能力非常强,因此比较容易在训练集上过拟合。在 使用梯度下降法进行优化时,我们可以使用一个和训练集独立的样本集合,称 为验证集(Validation Set),并用验证集上的错误来代替期望错误。当验证集上 的错误率不再下降,就停止迭代。

丢弃法Dropout

       当训练一个深层神经网络时,我们可以随机丢弃一部分神经元(同时丢弃其 对应的连接边)来避免过拟合,这种方法称为丢弃法(Dropout Method)。

深度模型中的优化

后续补上

FastText

     FastText模型架构和word2vec的CBOW模型架构非常相似。下面是fastText模型架构图:

ææ¯å¹²è´§ä¸¨fastTextåçåå®è·µ

相同的是,和CBOW一样,fastText模型也只有三层:输入层、隐含层、输出层(Hierarchical Softmax),输入都是多个经向量表示的单词,输出都是一个特定的target,隐含层都是对多个词向量的叠加平均。

不同的是,CBOW的输入是目标单词的上下文,fastText的输入是多个单词及其n-gram特征,这些特征用来表示单个文档;CBOW的输入单词被onehot编码过,fastText的输入特征是被embedding过;CBOW的输出是目标词汇,fastText的输出是文档对应的类标。

fastText的核心思想就是:将整篇文档的词及n-gram向量叠加平均得到文档向量,然后使用文档向量做softmax多分类。

例子:利用FastText模型进行文本分类

https://fasttext.cc/docs/en/supervised-tutorial.html

 

推荐文章:

统计学习方法:http://www.dgt-factory.com/uploads/2018/07/0725/%E7%BB%9F%E8%AE%A1%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95.pdf

神经网络与深度学习:https://nndl.github.io/nndl-book.pdf

常见FastText问题:https://fasttext.cc/docs/en/faqs.html#content

FastText原理及实践:http://www.52nlp.cn/fasttext

FastText文本分类例子:https://juejin.im/post/5c95fdfb6fb9a070b96f0f4c

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值