一、模型
“如果一个程序可以在任务T上,随着经验E的增加,效果P同步增加,则称这个程序可以学习”。关于学习的一个通用框架是根据输入和输出之间发现二者存在着某种联系,比如说三国演义中的孔明草船借箭的时候那位渔夫告诉他的谚语,从而预测第二天的来风。机器学习则是通过数据,然后拟和一个函数(模型),使得输入和输出之间能有一个符合某种标准的好的解释。
刚学深度学习的时候一直不明白,模型是一个非常复杂的函数,比如是①中的复杂函数。,②,
但是在深度学习网络中,都是由一层一层的人工神经元构成的,单个人工神经元的模型比较简单,
输入是一些含有有权重的线性组合,通过一个 非线性 的激活函数有一个输出。每一层的人工神经元按照层的方式排列,多层就构成深度神经模型。
第一个隐藏层的神经元模型,
第l+1个隐藏层人工神经元模型,
最后就是输出层的模型,后者这个复杂的模型和前者那个复杂模型二者的函数是完全不一样的,刚开始也是一直不能理解。
①和②如此不同。原来②中的权值是参数,可以改变,其变化就是确定量神经元是否连接(为0就肯定断开了),连接强弱,就是这样的变化,让 隐藏层的激活函数 f 和输出层的 分类函数 g 可以在非线性因素下逼近某个非常复杂函数,如①。所以深度学习模型(连接主义的,公式②)实际上就是数据中可能存在的更常规形式化表达的模型(如①)的一个非常精确的近视。终于明白了 两个模型 的关系。只是②这个连接主义模型能通过BP(前馈)方法利用梯度下降等方法进行反向传播通过迭代训练参数,能很好地训练参数做到 自适应 数据的结构。
后者通过参数的变化可以使得模拟的前者的模型在结构和系数上面都会有所变化。
二、深度学习框架
是把某些应用集成起来,并且按照一定的结构安装好了,不需要使用者从头再去cording相关代码,达到最大限度的继承和复用软件。相当于建筑中搭建起了各种钢筋混泥土结构,有了基本的受力和承重结构,用户根据需要按照各自喜好和需求形成房间,改变户型,满足具体的需求。
Google发布了机器学习框架TensorFlow,2017年,TensorFlow如日中天之际,Facebook发布了PyTorch,短短四年后,它竟把前者从王座上拉了下来。到底是怎么做到的?
市场上的用户可以分工业界和学术界两个群体,两者有不同的需求。工业界更关注模型的应用,比如部署、性能等,而学术界更关注模型的开发,以研究为主,会频繁修改模型以验证想法,对性能要求不高,对部署更不在乎。PyTorch先让学生使用,让他们形成路径依赖,他们进入职场后,会把这个习惯用于工程上。这让人想到R语言,数据科学家和学生使用也是比较多,尤其是学统计的,今后在数据挖掘上是否有可能也能在工业化应用中冲出来?
网友评论