我们通过在大型语料库中抽取大量的句子来做到这一点:每次我们看到一个词,我们就取它周围的词。然后我们将上下文的单词输入到神经网络中,并预测这个上下文中心的词。
当我们有成千上万这样的上下文词和中心词时,我们就有了一个神经网络数据集的实例。我们训练神经网络,最后编码的隐藏层输出表示一个特定词的嵌入。当我们对大量的句子进行训练时,相似上下文中的单词会得到相似的向量。
10 — 迁移学习让我们考虑图像是如何通过卷积神经网络处理的。假设你有一个图像,你对它应用卷积,你得到像素的组合作为输出。假设它们是边。现在再次应用卷积,现在输出的是边或线的组合。然后再次应用卷积,这时候输出是线的组合,以此类推。你可以把它看作是寻找特定模式的每一层。神经网络的最后一层趋向于变得非常专业化。也许如果你正在使用 ImageNet,你的网络的最后一层将用于寻找孩子、狗、飞机或者其他什么。在后面几层你可能会看到网络在寻找眼睛、耳朵、嘴巴或者轮子。
深度 CNN 中的每一层都在不断地构建更高层次的特征表征。最后几个层往往专门针对输入到模型中的任何数据。另一方面,前面的层更加通用,在大量的图片中有许多简单的模式。
迁移学习是当你对一个数据集进行卷积神经网络训练时,切掉最后一层,在另一个数据集中重新训练模型最后一层。从直觉上来说,你正在重新训练模型以识别不同的更高级别的特征。因此,当你没有足够的数据或者训练占用了太多的资源时,迁移学习就是一个有用的工具。
本文只展示了这些方法的一般概述。我建议阅读下面的文章以获得更详细的解释:
- Andrew Beam:《Deep Learning 101》 :http://u6.gg/e6fX7
- Andrey Kurenkov:《A Brief History of Neural Nets and Deep Learning》http://u6.gg/e6fXN
- Adit Deshpande:《A Beginner’s Guide to Understanding Convolutional Neural Networks》http://u6.gg/e6fYm
- Chris Olah:《Understanding LSTM Networks》http://u6.gg/e6fY2
- Algobean:《Artificial Neural Networks》http://u6.gg/e6fYL
- Andrej Karpathy:《The Unreasonable Effectiveness of Recurrent Neural Networks》http://u6.gg/e6fYY
深度学习非常注重技术实践。对于每一个新想法都没有太多具体的解释。大多数新想法都是通过实验结果出来的,以证明它们是可行的。深度学习就像玩乐高积木。掌握乐高和其他任何艺术一样具有挑战性,但入门更容易。
原文链接:
https://medium.com/cracking-the-data-science-interview/the-10-deep-learning-methods-ai-practitioners-need-to-apply-885259f402c1