随笔分类 - 机器学习实战(深度学习部分)
摘要:import random import os import tensorflow as tf from tensorflow import keras from shutil import copyfile from tensorflow.keras import layers from tens
阅读全文
摘要:生成式对抗网络 Ian Goodfellow等人在2014年的论文中提出了生成式对抗网络,尽管这个想法立刻使研究人员们兴奋不已,但还是花了几年时间才克服了训练GAN的一些困难。就像许多伟大的想法一样,事后看起来似乎很简单:让神经网络竞争,希望这种竞争能够促使它们变得更好。GAN由两个神经网络组成 生
阅读全文
摘要:变分自动编码器 Diederik Kingma和Max Welling于2013年推出了自动编码器的另一个重要类别,并迅速成为最受欢迎的自动编码器类型之一:变分自动编码器 它们与目前为止的自动编码器有很大的不同,它们具有以下特殊的地方: 它们是概率自动编码器,这意味着即使在训练后,它们的输出会部分由
阅读全文
摘要:稀疏自动编码器 另一种会导致良好特征提取的约束是稀疏性:通过在成本函数中添加适当的函数项,强迫自动编码器减少编码层中活动神经元的数量。例如,可以强迫其在编码层中平均仅有5%的显著活动神经元。这迫使自动编码器将每个输入表示为少量活动神经元的组合。结果,编码层中的每个神经元最终会代表一个有用的特征 一种
阅读全文
摘要:去噪自动编码器 强制自动编码器学习有用特征的另一种方法是向其输入中添加噪声,训练它来恢复原始的无噪声输入。这个想法自1980年代开始就存在(在Yann LeCun 1987年的硕士论文中提到过)。在2008年的论文中,Pascal Vincent等人表明自动编码器也可以用于特征提取。在2010年的论
阅读全文
摘要:循环自动编码器 如果要为序列构建自动编码器,例如时间序列和文本(例如,用于无监督学习或降维),那么递归神经元可能比密集网络更合适。构建循环自动编码器非常简单直接:编码器通常是序列到向量的RNN,它将输入序列压缩为单个向量。解码器是向量到序列RNN,做相反的处理: from tensorflow im
阅读全文
摘要:卷积自动编码器 如果要处理图像,目前为止的自动编码器都无法很好的工作(除非图像非常小),卷积神经网络比密集网络更适合处理图像。如果要为图像构建自动编码器(例如,用于无监督预训练或降维),则需要构建卷积自动编码器。编码器是由卷积层和池化层组成的常规CNN。它通常会减小输入的空间尺寸(即高度和宽度),同
阅读全文
摘要:堆叠式自动编码器 自动编码器可以具有多个隐藏层。在这种情况下,它们被称为堆叠式自动编码器(或深度自动编码器)。添加更多的层有助于自动编码器学习更多的复杂的编码。就是说,要注意不要使自动编码器过于强大。想象一个强大的编码器,它只是学会了把每个输入映射到单个任意数字(而解码器则学习反向映射)。显然这样的
阅读全文
摘要:使用不完整的线性自动编码器执行PCA 如果自动编码器仅使用线性激活,并且成本函数是均方误差MSE,则最后执行的是主成分分析(PCA) 以下代码构建了一个简单的线性自动编码器,来对3D数据集执行PCA,将其投影到2D: from tensorflow import keras encoder = ke
阅读全文
摘要:有效的数据表示 你发现以下哪个数字顺序最容易记忆? 40,27,25,36,81,57,10,73,19,68 50,48,46,44,42,40,38,36,34,32,30,28,26,24,22,20,18,16,14 乍一看,第一个序列似乎应该更容易些,因为它要短得多。但是,如果仔细看第二个
阅读全文
摘要:最新语言模型的创新 2018年被称为”NLP的ImageNet时刻“:进展惊人,越来越大的LSTM和基于Transformer的架构在庞大的数据集上得到了训练 Matthew Peters撰写的ELMo论文介绍了从语言模型来的嵌入(Embeddings from Language Model,ELM
阅读全文
摘要:注意力机制 这是Dzmitry Bahdanai等人在2014年的突破性论文中的核心思想。他们介绍了一种技术,该技术允许编码器在每个时间步长中专注于适当的单词(由编码器编码)。例如,在编码器需要输出单词'lait'的时间步长上,它会把注意力集中在单词'milk'上。这意味着从输入单词到其翻译的路径变
阅读全文
摘要:重用预训练的嵌入 TensorFlow Hub项目可以轻松地在自己的模型中重用经过预训练的模型组件。这些模型组件称为模块。只需要浏览TF Hub储存库,就能找到需要的,然后将代码示例复制到下项目中,该模块将连同其预先训练的权重一起自动下载并包含在模型中: # 在情感分析模型中使用nnlm-en-di
阅读全文
摘要:掩码屏蔽 模型需要学习应该忽略掉填充令牌。可以设置告诉模型去忽略掉填充令牌,以便它可以专注于实际很重要的数据。实际上这很容易:在创建嵌入(Embedding)层时只需添加mask_zero=True。这意味着所有下游层都将忽略填充令牌(其ID为0) 这种工作方式是Embedding层创建一个等于K.
阅读全文
摘要:情感分析 如果MNIST是计算机视觉的“hello world”,那么IMDB评论数据集就是自然语言处理的“hello world”:它提取了来自著名的互联网电影数据库的50000条英文电影评论(其中25000条用于训练,25000条用于测试),每条评论的简单二元目标值表明了该评论是负面(0)还是正
阅读全文
摘要:创建训练数据集 首先,使用Keras的get_file()函数来下载莎士比亚的所有作品,并从Andrej Karpathy的Char-RNN项目中下载数据: import tensorflow as tf from tensorflow import keras shakespeare_url =
阅读全文
摘要:处理长序列 在长序列上训练一个RNN,必须运行很多时间步长,从而展开的RNN成为一个非常深的网络。就像任何深度神经网络一样,它可能会遇到不稳定的梯度问题:它可能永远在训练,或者训练可能会不稳定。此外,当RNN处理一个长序列时,它会逐渐忘记序列中的第一个输入。 应对不稳定梯度问题 在深度网络中用于应对
阅读全文
摘要:循环神经元和层 到目前为止,我们只关注前馈神经网络,其中激活仅在一个方向上流动,从输入层流向输出层。循环神经网络看起来非常像前馈神经网络,除了它还具有指向反向的连接。最简单的RNN由一个神经元接收输入,产生输出并将该输出返送回自身组成。在每个时间步长$t$(也称为帧),该循环神经网络接收输入$x_{
阅读全文
摘要:使用RNN和CNN处理序列 击球手将球击出。外野手立即开始奔跑,预测球的轨迹。他跟踪它,调整自己的运动,最后抓住球。不管你是在听完朋友的话还是在早餐时期待咖啡的味道,预测都是你一直在做的事情。循环神经网络(RNN),这是一类可以预测未来的网络(在一定程度上)。它们可以分析时间序列数据(例如股票价格)
阅读全文
摘要:语义分割 在语义分割中,每个像素根据其所属物体的类别(例如,道路、汽车、行人、建筑物等)进行分类。例如分割图像右侧的所有自行车都变成了一大块像素。此任务的主要困难在于,当图像通过常规CNN时,它们会逐渐失去其空间分辨率(由于步幅大于1的层),因此常规的CNN可能最终会知道在图像的左下角有一个人,但不
阅读全文

浙公网安备 33010602011771号