第655章【神经网络深度学习】
一小时后,方鸿再次来到了量化资本总部。
陈宇的助理前来接待他,领着他向着招待室走去,并说道:“方先生,陈总正在技术部开会,您稍等,我去知会他一声。”
方鸿如是说道:“不用,直接带我去他的会议室,我去旁听一下。”
闻言,陈宇的助理拿出手机给他发了个信息,很快陈宇就回消息,这位助理转而看向方鸿微笑道:“方先生,您这边请。”
不一会儿,方鸿便来到了陈宇所在的会议室,在场有三十多号人,看到走进来一个陌生的青年,大家都颇为好奇的打量了一下。
他们发现方鸿跟自己老板陈宇的年龄差不多,但不同的是,他们从方鸿身上感受到了一种在这个年龄阶段所没有的上位者气场,这让大家意识到这个陌生青年不是一般人。
此刻,陈宇看到方鸿与之相视点头致意,后者微微一笑便在会议室里默默地找了个位置坐下旁听。
陈宇收回目光,转而环视一众与会者继续说道:“……对于人工智能的基本实现思路,机器学习的过程,简单的说就是电脑到底是如何自我学习的。”
“因为计算机的一切运算,其基础都是数学运算,所以任何机器学习的思路,归根结底就是把一个实际问题转化为数学问题。为了让计算机能够预测或者识别什么东西,就需要先构造一个数学函数,这个数学函数就叫预测函数。”
一般人可能很难想象,量化资本作为一家多元金融公司,在大多数股民眼里甚至就是一家非银金融投资公司,掌门人也是做投资交易的,却在公司里谈论这些内容。
不过方鸿是很淡定,这其实很正常,华尔街就是汇集了一群顶尖的数学家、物理学家。
此刻,陈宇转而看向会议屏幕道:“比如预测一个吃饱饭的函数,就可以描述成[吃饱=N碗饭],这个预测计算到底准不准?一个人吃几碗饭和吃饱之间的关系有是什么?是吃一碗还是三碗才能吃的饱?”
“这就需要实际去试一下,如果预测是两碗饭吃饱,但实际要吃三碗饭才饱,其中一碗的误差就是损失,描述这个损失的函数即[3-N=1],这就是损失函数。”
“机器学习就是通过不断尝试让这个误差达到最小的过程,寻找损失最小值的方法通常是梯度下降,一旦我们找到了最小误差,就会发现当[N=3]的时候误差最小,也就是机器学习找到了真实的规律,就成功解决问题了。”
陈宇再度看向众人道:“所以,机器学习就是在寻找数据的规律,大部分时候,它的本质就是把数据投射到坐标系里,然后用计算机通过数学方法画一条线区分或者模拟这些数据的过程。”
“不同的机器学习方法,就是在使用不同的数学模型来投射数据和画线,从上世纪到现在,不同的流派找到了不同的方法,擅长于解决不同的问题,影响比较巨大的有这么几种:线性回归和逻辑回归、K近邻、决策树、支持向量机、贝叶斯分类以及感知机等。”
方鸿坐在一边旁听默默不言,他也算是计算机科学领域的半个业内人士,更有前世记忆先知先觉的优势,此刻旁听也是毫无压力。
陈宇他们走的显然就是神经网络这个流派,不过也向前推进了一步,进入到了强化深度学习,而神经网络的前身就是感知机。
这三个名词本质上都是在玩同一个东西。
却说此刻,陈宇缓缓地说道:“深度学习最基本的思想就是模拟大脑神经元的活动方式来构造预测函数和损失函数,既然叫神经网络,必然和人的大脑神经元有一定的关系,单个感知机的算法机制其实就是在模拟大脑神经元的运行机制。”
屏幕上呈现一张大脑神经元的结构图。
“这是一个神经元,大家都知道它的结构,这是树突,这是轴突,其它神经元发过来的信号通过树突进入神经元,再通过轴突发射出去,这就是一个神经元的运行机制。”
“现在我们把神经元的树突变成输入值,把轴突变成一个输出值,于是这个神经元就变成了这样的一张图。把它转化为一个数学公式就更简单了,[X1+X2+X3=Y],就是这个公式。”
“没错,就这么简单。最复杂的事物往往是有最简单的事物创造的,简单的0和1就塑造了庞大的计算机世界,四种核苷酸就空置了纷繁复杂的生命现象,一个简单的神经元反射就塑造了我们的大脑。”
陈宇停顿了一会儿,再度环视众人:“问题的关键不是基本结构有多简单,而是我们如何使用这个基本结构来构建庞大的世界,神经元之所以神奇是因为它有一个激活机制,即所谓的阈值。”
“神经元的每一个树突不断的接受输入信号,但并不是每一个输入信号都能让轴突输出信号,每一个树突在输入时所占的权重也不一样。”
“比如你追求一个妹子,你孜孜不倦地采取各种行动,今天送了她一束花,明天请她吃大餐,但你发现这些行动都打动不了她。直到有一天伱陪她逛了一天街,她忽然间就被打动了,答应做你女朋友,这说明什么?”
“说明并不是所有的输入权重都是一样的,在妹子那里可能逛街的权重最大,其次是效果的积累并非是一个线性渐进的过程,而是量变引起质变。”
“所有的输入在某一个点之前完全没效果,可一旦达到某个值就突然被激发了,所以,模仿神经元的这种激活特性,那么对刚才的公式做一下改造。”
“每个输入需要一定的权重,在前面加一个调节权重的系数[W],后面加一个常数方便更好地调整阈值,于是这个函数就变成了这个样子。”
方鸿也看向了会议大屏幕,是一个新的数学公式。
【W1X1+W2X2+W3X3+b=Y】
陈宇看着屏幕里的公式说:“为了实现激活的过程,对输出值再作进一步的处理,增加一个激活函数,比如当X>1时,输出1;当X<1时,输出0,于是就成了这个样子。”
“不过这个函数看起来不够圆润,不是处处可导,因此不好处理,换成Sigmoid函数,这样一个简单的函数就可以处理分类问题了。”
“单个的感知机,其实就是画了一条线,把两种不同的东西分开,单个感知机可以解决线性问题,但是对于线性不可分的问题却无能为力了,那意味着连最简单的异或问题都无法处理。”
异或问题对于在场的所有人包括方鸿都明白,这是计算机的基本运算之一。
这时,陈宇自我反问道:“异或问题处理不了,那岂不是判死刑的节奏?”
陈宇旋即自答:“很简单,直接用核函数升维。感知机之所以能变成现在的深度学习,就是因为它从一层变成了多层,深度学习的深度就是指感知机的层数很多,我们通常把隐藏层超过三层的神经网络就叫深度神经网络,感知机是如何通过加层搞定异或问题的?”
陈宇回头看向屏幕调取下一张幻灯图并说:“计算机有四大基本运算逻辑,与、或、非、异或,这个不用多讲了。如果我们把异或放在一个坐标系来表示就是这样的。”
“原点位置X是0,Y是0,于是取0;X=1时,Y=0,两者不同取1,通力,这儿也是1,而这个位置X、Y都等于1,所以取0,在这张图上如果我们需要吧0和1分开,一条直线是做不到的。”
“怎么办?这就要看异或运算的本质了,数学上来说,异或运算其实一种复合运算,它其实可以通过其它的运算来得到,证明过程太复杂这里就不展开了。”
“如果我们能用感知机先完成括号里的运算,然后再把得出的结果输入到另一个感知机里边进行外面的这层运算,就可以完成疑惑运算了,然后异或问题就这么神奇的解决了,解决问题的同时顺带还解决了线性不可分的问题。”
“这说明什么?说明不管多么复杂的数据,通过加层的方式都可以拟合出合适的曲线将他们分开,而加层就是函数的嵌套,理论上来讲不管多么复杂的问题,我们都可以通过简单的线性函数组合出来,因此,理论上讲,多层的感知机能够成为通用的方法,可以跨领域地解决各类机器学习问题。”
……