深度学习:它如何工作?第1部分

在本文中,您将学习





-深度学习本质是什么-什么是



激活函数-



什么是FCNN-FCNN



可以解决哪些任务-FCNN



的缺点是什么以及如何应对




小介绍



这是有关DL中的任务,网络,体系结构,工作原理,如何解决某些任务以及为什么一个任务比另一个任务更好的系列文章的开头。



要了解所有内容,需要哪些初步技能?很难说,但是如果您知道如何谷歌搜索或正确地提问,那么我相信我的系列文章将对您有所帮助。



深度学习的重点是什么?



底线是构建一种将X作为输入并预测Y的算法。如果我们编写用于查找GCD的Euclid算法,则只需编写循环,条件,赋值,仅此而已-我们知道如何构建这样的算法。以及如何建立一种将图像作为输入并说出狗还是猫的算法?还是什么都没有?还有算法,在输入时我们提交文本并想知道-它是什么类型?用笔写周期和条件非常容易-在这里,神经网络,深度学习和所有这些流行语都可以解救。



更正式地介绍激活功能



从形式上来说,我们想从输入的参数X和网络W的权重中,从一个函数...构造一个函数,这将给我们带来一些结果。在此必须注意,我们不能简单地采用许多线性函数,因为 线性函数的叠加-线性函数。那么,任何深度网络都类似于具有两层(输入和输出)的网络。为什么我们需要非线性?我们想学习如何预测的参数可能非线性地取决于输入数据。通过在每个层上使用不同的激活函数来实现非线性。



全连接神经网络(FCNN)



只是一个完全连接的神经网络。看起来像这样:



图片



底线是一层的每个神经元与下一个和上一个(如果有的话)的每个神经元相连。



第一层是入口。例如,如果我们想将256x256x3的图像馈送到此类网络的输入,则在输入层中恰好需要256x256x3的神经元(每个神经元将接收一个像素的1个分量(R,G或B))。如果要显示一个人的身高,他的体重和其他23个特征,则在输入层中需要25个神经元。输出中神经元的数量就是我们要预测的特征数量。它可以是1个要素,也可以是全部100个。在一般情况下,通过网络的输出层,几乎可以肯定地说出它可以解决什么问题。



神经元之间的每个连接都是由反向传播算法训练的权重,这是我在这里写的



FCNN可以解决哪些任务?



-回归问题例如,根据一些输入条件(例如国家,城市,街道,交通等)预测商店的价值。



-分类问题例如,经典的是MNIST分类。



-我不会承诺谈论使用FCNN进行分割和对象检测的任务。也许有人会分享评论:)



FCNN的缺点



  1. 一层的神经元没有“公共”信息(网络中的所有权重都是唯一的)。
  2. 如果我们想在照片中训练网络,则需要训练大量的参数(权重)。


这些缺点该怎么办?卷积神经网络(CNN)可以。这就是我的下一篇文章将要讨论的内容。



结论



在很长一段时间里,我都不会停留在完全连接的神经网络上。如果有人对这种网络的实施感兴趣,那么您可以在此处查看和阅读我的实施情况。



All Articles