一、重点推荐一本重量级的学习“深度学习”的好书
该书是Keras的作者的新书,该书全面解读深度学习理论,并详细的介绍了如何利用Keras搭建深度学习框架。此外需要特别说明的是,该书作者在第一章对人工智能的历史发展评述的非常客观,而且作者还对市面上很多妖魔化或者泡沫化人工智能的观点给予了抨击。
超级人工智能其实离我们很远,而现实中,真正的人工智能科研人员却在若干艰难的科研问题中苦苦挣扎(研究人工智能是个“半盲钟表匠”的工作,异常艰难!)。其实现在该做的是让这个只有存在了半个世纪的学科被更多人理解,被人更多接受,并且让更多的人参与进来,群策群力,不断保持开源和开放的心态,然后就是日以继夜的踏实苦干。这才是所以立志于从事人工智能研究的科研人员该干的,也是普遍人工智能领域的学者和从业人员在干的。必定空谈误国,实干兴邦。与其评价别人,不如自己踏实干活。
不要妖魔化或者泡沫化这个领域,更不要不懂装懂的评论这个领域的科研人员的心血成果。大家都多读书,少说话,踏实干活吧。那些妖魔化和泡沫化人工智能的非人工智能的学者,真请多读书,真的少说话,真的不要不懂装懂,乱点评江山。虽然该学科存在时间并不长,但是确实取得了惊人的成就,不能只用“运气”或者“泡沫”来概括这个学科的成就,更不要妖魔化....说些什么“机器人要统治世界了,赶快对从事该学科的科研人员和企业征税吧.....”的言论。此外,建议各位对这个学科多些理解和多些尊重,要评论该学科,最好去找几本该学科的高级教材来看看吧,这个学科的数学壁垒并不低,而且也还是非常高(至少也不比经济学与金融学中的数学要求低多少.....)
当然该书是偏实务的数据,所涉及的数学要求非常低,一般有基础数理统计基础和线性代数知识就可以看懂。
我们以前也介绍过该书,只是当时还没有出版。
下面再帮大家回顾一下什么是Keras
Keras是一个高层神经网络API,Keras由纯Python编写而成并基Tensorflow、Theano以及CNTK后端。Keras 为支持快速实验而生,能够把你的idea迅速转换为结果,如果你有如下需求,请选择Keras:
简易和快速的原型设计(keras具有高度模块化,极简,和可扩充特性)
支持CNN和RNN,或二者的结合
无缝CPU和GPU切换
Keras适用的Python版本是:Python 2.7-3.6
Keras的设计原则是
用户友好:Keras是为人类而不是天顶星人设计的API。用户的使用体验始终是我们考虑的首要和中心内容。Keras遵循减少认知困难的最佳实践:Keras提供一致而简洁的API, 能够极大减少一般应用下用户的工作量,同时,Keras提供清晰和具有实践意义的bug反馈。
模块性:模型可理解为一个层的序列或数据的运算图,完全可配置的模块可以用最少的代价自由组合在一起。具体而言,网络层、损失函数、优化器、初始化策略、激活函数、正则化方法都是独立的模块,你可以使用它们来构建自己的模型。
易扩展性:添加新模块超级容易,只需要仿照现有的模块编写新的类或函数即可。创建新模块的便利性使得Keras更适合于先进的研究工作。
与Python协作:Keras没有单独的模型配置文件类型(作为对比,caffe有),模型由python代码描述,使其更紧凑和更易debug,并提供了扩展的便利性。
我们以前也介绍过该书,只是当时还没有出版。
资料来源:http://keras-cn.readthedocs.io/en/latest/
二、说说什么是“数学上的成熟”?
昨天无意翻到一个国外金融学的教授写给他学生的信,第一条是叫学生去看看wiki上关于Mathematical maturity的定义。
我们简单翻译了一下,以馈赠读者。
有能力一般化从特殊到涉及更广的概念。
有能力处理不断增加的抽象概念。
有能力利用通过学会标准的表示符号和可接受的方式与(其他人)用数学化的方式交流。
显著的改变,从利用记忆学习到利用理解学习
有能力建立从解析描述到几何描述建立联系
有能力将语言文字问题转化为数学问题
有能力识别有效的证明和侦测出思维中的“马虎”(sloppy)想法。
有能力在几何(图)和解析(方程)中游刃有余的来回游走
通过摒弃幼稚的假设和培养更有思辨的态度以提高数学直觉
能将其他问题或者其它学科联系起来或加以利用
能补齐失去的细节
能更正错误、指出错误和从错误中学习
取其精华,去其糟粕,增益其所不能
识别和欣赏高雅
抽象的思考
读、写并评论规范的证明
知之为知之,不知为不知
识别模式,主题,趋势和症结
创造性的使用你所知道的知识
恰当地逼近
自学习
归纳概括
保持专注
有必要时,使用你的本能和直觉