Hinton Neural Networks课程笔记1c:几种激活函数Linear、Binary、ReLU、Stochastic binary neurons
转载自:https://blog.csdn.net/silent56_th/article/details/75736028
本章简单介绍了一些神经元的激活函数,包括Linear、Binary、ReLU和一些概率统计方面的变种。
笔者在刷CS231n的时候也记录了相关内容,贴在这里方便比较:CS231n课程笔记5.1:神经网络历史&激活函数比较
为什么激活函数都相对简单
首先说明idealize具有很多实际意义:某件事物本身是复杂的,其内可能包含许多没有应用价值的小细节,idealize可以去繁化简,从而可以更好的把握主旨;idealize之后就方便使用数学方法计算,并且对其他类似的系统做模拟;一旦能够了解主旨之后,加入细节是一个相对简单的过程。(笔者印象中最有名的idealize的例子应该就是牛顿定律和相对论了)
综上,idealize虽然得到的结果不准确,但很有意义。神经网络就是对神经元群的idealize,具体可以表现为使用实数值模拟离散的spike活动,激活函数用一些简单函数进行模拟。
激活函数
线性函数 Linear
如上图所示,就是输入的加权和再加上bias。这个函数十分简单,但是功能也很有限。(如果神经网络中仅使用线性激活函数,那么其只能学习到线性函数,因为多个矩阵连乘还是矩阵)。
Binary Threshold Neurons
如上图所示,对于大于某个threshold的输入,输出1,否则输出0。Hinton有提到这是受到Von Neumann在设计计算机过程中的思想影响提出的激活函数。(笔者个人觉得该函数满负荷自己对神经元的直观理解的,即当足够的化学信号接收到之后,相应个神经元的细胞膜打开离子门,产生一个spike。但明显这种激活函数在绝大多数(/除了threshold点以外)区域导数为0,而唯一的变化点也没有经典导数,不适合用于现代神经网络中)。Binary Threshold Neurons有两种等价表达式如下:
Rectified Linear Neurons/Units (ReLU)
其公式形式如上图。ReLU是现在最常见的用于神经网络内的激活函数了,简单操作,耗时少,又具有非线性特性,并减免了梯度消失的问题。(现在也有很多ReLU的变种,2016-2017年左右刚出了一个SeLU,有时间再去刷刷这个论文)
Sigmoid
这个函数也是相当的经典,在神经网络初始阶段被广泛应用,方程式是经典的逻辑斯蒂函数。这个函数全部区域可导,而且导数易求;输出在0到1之间。但是相比于tanh,其输出均为正数,所以输出的均值不为0,而这又被证实不易于神经网络学习收敛;其次对于接近于0和1的部分,其导数接近于0,所以有明显的梯度衰减问题。故而在深度神经网络内已经很少使用其作为激活函数。
随机二值神经元 Stochastic Binary Neurons
这种神经元的输出仍是只有0或1,但与Binary Threshold不同的是,它把sigmoid的输出当做概率,并根据其按照一定概率输出0或1。类似的也可以把ReLU的输出当做Poisson rate。
Hinton Neural Networks课程笔记1c:几种激活函数Linear、Binary、ReLU、Stochastic binary neurons相关推荐
- Procedural Noise Adversarial Examples for Black-Box Attacks on Deep Neural Networks论文笔记
Procedural Noise Adversarial Examples for Black-Box Attacks on Deep Neural Networks论文笔记 0. 概述 如今一些深度 ...
- Flexpoint: An Adaptive Numerical Format for Efficient Training of Deep Neural Networks:弯曲点:一种有效训练深度神
2017.:Flexpoint: An Adaptive Numerical Format for Efficient Training of Deep Neural Networks:弯曲点:一种有 ...
- DL之DNN优化技术:采用三种激活函数(sigmoid、relu、tanh)构建5层神经网络,权重初始值(He参数初始化和Xavier参数初始化)影响隐藏层的激活值分布的直方图可视化
DL之DNN优化技术:采用三种激活函数(sigmoid.relu.tanh)构建5层神经网络,权重初始值(He参数初始化和Xavier参数初始化)影响隐藏层的激活值分布的直方图可视化 目录
- 三种激活函数——Sigmoid,Tanh, ReLU以及卷积感受野的计算
1. 三种激活函数--Sigmoid, Tanh, ReLU 1.1 Sigmoid 1.1.1 公式 S ( x ) = 1 1 + e − x S(x) = \frac{1}{1 + e^{-x} ...
- 《Ensemble Learning Methods for Deep Learning Neural Networks》笔记
文章连接:Ensemble Learning Methods for Deep Learning Neural Networks 前言 神经网络提供了更大的灵活性,并可根据可用的培训数据量进行调整.但 ...
- 【模型压缩】Channel Pruning for Accelerating Very Deep Neural Networks算法笔记
转:https://blog.csdn.net/u014380165/article/details/79811779 论文:Channel Pruning for Accelerating Very ...
- Extract Semantic Structure from Documents Using Multimodal Fully Convolutional Neural Networks阅读笔记
Learning to Extract Semantic Structure from Documents Using Multimodal Fully Convolutional Neural Ne ...
- Scalable Object Detection using Deep Neural Networks 阅读笔记
Scalable Object Detection using Deep Neural Networks 基于深度神经网络的可伸缩目标检测 14年的文章 是一个用于检测的显著性启发式神经网络模型, 分 ...
- EWC:Overcoming catastrophic forgetting in neural networks论文笔记
EWC:Overcoming catastrophic forgetting in neural networks 概要 根据某些参数对先前任务的重要性来缓解某些参数权重的学习率 EWC 约束重要的参 ...
最新文章
- 联想g510升级换什么cpu好_老兵不死,十年前的联想 Y450 笔记本复活记
- Nat. Mach. Intell. | 探索稀疏化学空间的化学语言模型新策略
- python3性能还低吗_Python3 vs. Python2 大作战,谁将是性能之王?
- Flsak爱家租房--订单(获取用户订单、用户评论)
- linux执行命令提示缺少so,Linux软件缺少动态链接库.so怎么办
- 华为主题包hwt下载_华为主题太丑?修改方式它来了
- JS - 将十六进制的颜色值转成rgb、rgba格式
- matplotlib数据可视化实战——饼状图+雷达图+三维图
- C++算法学习(力扣:1544. 整理字符串)
- mc服务器怪物掉落修改,【服务端插件】 clear 2.3-清理插件,红石,流水岩浆,动物怪物掉落物,作物自动清理[1.6.2-1.7.2]...
- Oracle数据库驱动包ojdbc7.jar,ojdbc8.jar
- 计算机课ppt实验报告,ppt模板,实验报告
- Android多窗口分屏(原生方法)
- 2021年美容师(初级)考试总结及美容师(初级)模拟试题
- java 读取excel 合并单元格_利用java读写Excel文件、合并单元格
- C#使用TCP进行聊天通信(详细解析)
- 与设备无关的彩色空间
- 毫秒转换为天、小时、分、秒
- 北京一行(七)——返程
- gson解析字符串中带引号