导读:深度学习已经存在了几十年 , 不同的结构和架构针对不同的用例而进行演变 。其中一些是基于我们对大脑的想法 , 另一些是基于大脑的实际工作 。本文将简单介绍几个业界目前使用的先进的架构 。作者:谢林·托马斯(Sherin Thomas)、苏丹舒·帕西(Sudhanshu Passi)
来源:华章科技
文章插图
01 全连接网络【CNN、RNN、GAN都是什么?终于有人讲明白了】全连接、密集和线性网络是最基本但功能强大的架构 。这是机器学习的直接扩展 , 将神经网络与单个隐藏层结合使用 。全连接层充当所有架构的最后一部分 , 用于获得使用下方深度网络所得分数的概率分布 。
如其名称所示 , 全连接网络将其上一层和下一层中的所有神经元相互连接 。网络可能最终通过设置权重来关闭一些神经元 , 但在理想情况下 , 最初所有神经元都参与训练 。
02 编码器和解码器编码器和解码器可能是深度学习另一个最基本的架构之一 。所有网络都有一个或多个编码器–解码器层 。你可以将全连接层中的隐藏层视为来自编码器的编码形式 , 将输出层视为解码器 , 它将隐藏层解码并作为输出 。通常 , 编码器将输入编码到中间状态 , 其中输入为向量 , 然后解码器网络将该中间状态解码为我们想要的输出形式 。
编码器–解码器网络的一个规范示例是序列到序列 (seq2seq)网络(图1.11) , 可用于机器翻译 。一个句子将被编码为中间向量表示形式 , 其中整个句子以一些浮点数字的形式表示 , 解码器根据中间向量解码以生成目标语言的句子作为输出 。
文章插图
▲图1.11 seq2seq 网络
自动编码器(图1.12)是一种特殊的编码器–解码器网络 , 属于无监督学习范畴 。自动编码器尝试从未标记的数据中进行学习 , 将目标值设置为输入值 。
例如 , 如果输入一个大小为100×100的图像 , 则输入向量的维度为10 000 。因此 , 输出的大小也将为 10 000 , 但隐藏层的大小可能为 500 。简而言之 , 你正在尝试将输入转换为较小的隐藏状态表示形式 , 从隐藏状态重新生成相同的输入 。
文章插图
▲图1.12 自动编码器的结构
你如果能够训练一个可以做到这一点的神经网络 , 就会找到一个好的压缩算法 , 其可以将高维输入变为低维向量 , 这具有数量级收益 。
如今 , 自动编码器正被广泛应用于不同的情景和行业 。
03 循环神经网络循环神经网络(RNN)是最常见的深度学习算法之一 , 它席卷了整个世界 。我们现在在自然语言处理或理解方面几乎所有最先进的性能都归功于RNN的变体 。在循环网络中 , 你尝试识别数据中的最小单元 , 并使数据成为一组这样的单元 。
在自然语言的示例中 , 最常见的方法是将一个单词作为一个单元 , 并在处理句子时将句子视为一组单词 。你在整个句子上展开RNN , 一次处理一个单词(图1.13) 。RNN 具有适用于不同数据集的变体 , 有时我们会根据效率选择变体 。长短期记忆 (LSTM)和门控循环单元(GRU)是最常见的 RNN 单元 。
文章插图
▲图1.13 循环网络中单词的向量表示形式
04 递归神经网络顾名思义 , 递归神经网络是一种树状网络 , 用于理解序列数据的分层结构 。递归网络被研究者(尤其是 Salesforce 的首席科学家理查德·索彻和他的团队)广泛用于自然语言处理 。
字向量能够有效地将一个单词的含义映射到一个向量空间 , 但当涉及整个句子的含义时 , 却没有像word2vec这样针对单词的首选解决方案 。递归神经网络是此类应用最常用的算法之一 。
递归网络可以创建解析树和组合向量 , 并映射其他分层关系(图1.14) , 这反过来又帮助我们找到组合单词和形成句子的规则 。斯坦福自然语言推理小组开发了一种著名的、使用良好的算法 , 称为SNLI , 这是应用递归网络的一个好例子 。
推荐阅读
- 如何安装SVN客户端?如何使用SVN检出、提交、修改、增加
- C++面向对象开发的四大特性:封装、抽象、继承、多态
- 7岁儿童蛀牙怎么办
- 三红茶的功效与作用[红茶]
- 坦洋工夫红茶怎么泡[红茶]
- 黑茶和红茶的区别是什么[红茶]
- Intel|打击AI换脸 微软、Intel等将推新技术:篡改一查便知
- Toyplot:一个简洁、可爱的Python的交互式数据可视化绘图库
- Android Monkey压力稳定性测试
- 普洱茶采摘季节,普洱茶季节不同、茶名不同