大道至简,深度学习deep learning的形成原理和数学背景

关于神经网路学习,相关文章大多描述过细、或过繁,恨不能写得越高深越好,理论解析中往往不知所云,概念词,复杂数学公式一股脑引入更提高了理解难度,学习者往往一头雾水,很难对学习模型原理有一个整体清晰的认识。

本文试图对深度学习deep learning形成原理,深度学习的数学背景给出至简的描述(大道至简),便于大家对神经网络基础理论有一个整体深入的了解,为日后的学习建立较好的基础。

深入学习是机器学习的一个部分,机器学习又是人工智能AI的一个部分。也就是说,机器学习有很多模式pattern或模型,深入学习只是其中一个分支,他侧重基于人工神经网络,而其形成源于大脑神经元之间信号交互的物理现象。

神经元交互,即信号从一个neural到另一个neural需要一个条件,即“阈值”,有了“阈值”大脑才知道该信号是否传入下一个神经元做出行为判断,从而有了动作行为。这种神经元的信号传递过程是可以用数学公式推导表示的,也可以理解为深度学习体系。

并不认同深度学习是大数据以及GPU催生的产物,我们以手写数字识别为例,训练集28X28像素图片6万张,这是一个大数据吗?远比一部影视剧视频小的多。那么硬件,该数集训练时长,CPU计算2-3个小时,也不是对计算硬件要求过高啊,要什么GPU。那么问题出在哪里?为什么直到2010年前后深度学习才被清楚认识?

可以这样解释,神经元网络在非线性问题的求解有了突破,是人类认识观发生了改变。可惜的是,最先提出并改变认识的一杆人不在中国,我们是不是该反省一下呢。。。。。

因此,我们可以这样说,以深度学习为核心的神经网路框架是为解决非线性问题而生,主要解决逻辑回归问题。这个问题的突破促使机器有了逻辑、推理、预测并自我学习的能力,进而可以近似的说机器得到了人所具备的智能。

我们看看神经网络的数学表达公式:
Y=fn(fn-1(fn-2(…f0(w1x+w2x+b)…)…) (1)
f(x)=wx+b (2)

每个神经元f(x)是一个线性函数表达,即公式(2),将各个神经元函数组合一起,公式(1),成为复杂神经网络(至于是什么结构的网络,比如多层,先不去管),那么最终求解这个Y,输出的Y是我们的预测值。

到此,神经网络的求解是一个线性求解,所涉及的所有x,w,b均为已知,也就是说训练集已知,参数w,b已知,求y不就是一个简单的任务吗,求得的y 就是机器算出的预测值(机器一般比较傻,但算力很好)。

好了,预测值有了,算的对吗?那就得跟真实的z比对一下了,真实的z也是已知的,那就比吧,这就引出了Loss函数的概念。

这个Loss就是药引子,是深度学习的关键,一般药引子使用均方误差或交叉熵,反正是一个比对函数,Loss越小,预测值y越接近真实值z。。。。。

当Loss已知时必定要引出求梯度,没有Loss就无法求梯度,那为什么求梯度呢?

为什么y不准,因为参数不准,也就是w,b不准,不准就得去修正,怎么修正,答案是算梯度,然后修正参数w,b。

到此为止,一个中学生或大一学生完全可以想到并算出这个梯度。

下一步,也是最最关键的一步,成就了机器能够学习的精彩篇章,且听下回分解。


————————————————
版权声明:本文为CSDN博主「littlebird001」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/littlebird001/article/details/115794664

上一篇:uniapp 扩展组件抽屉的使用


下一篇:scoped引起的deep与>>>改变elementUI的样式