0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

专访Keras之父:从何开始对深度学习感兴趣、Keras的创建背后的动机

jmiy_worldofai 来源:未知 2018-11-28 17:30 次阅读

本文是对Keras的创造者、谷歌AI研究员Francois Chollet的专访,内容包括François从何开始对深度学习感兴趣、Keras的创建背后的动机,François对TensorFlow等其他框架的看法、给初学者的建议等。

本文作者Sanyam Bhutani专访了一系列他心目中的“AI英雄”,包括GAN的创造者Ian Goodfellow、最年轻的Kaggle Grandmasters等等。

这次,他的采访对象是机器学习社区最伟大的贡献者之一、Keras的创造者,也是最好的深度学习书籍的作者之一:Francois Chollet。

Francois Chollet目前是Google AI的研究员,也是Keras开发的核心人物。

Francois Chollet

Sanyam Bhutani:你好,François,非常感谢你抽出时间参加这次采访。能和你谈话真是我的荣幸。

Francois Chollet:谢谢你邀请我,我很乐意回答你的问题。

问:你现在在 Google AI Research工作,并且你创建了最受欢迎的深度学习库之一。你能告诉我们你是怎么开始的吗?是什么让你对深度学习开始感兴趣?

Francois Chollet:我研究人工智能已经有很长一段时间了,但在我还是学生时,我对学习视觉感知的层叠、模块化、层次化表示的这些具体问题很感兴趣。当时,Jeff Hawkins写了一本相当发人深省的书(书名是:On Intelligence),内容包括大脑中的分层信息处理,MIT的一些人一直在研究受人类视觉皮层启发的视觉感知层级模型,就是HMAX模型家族。

这些观点给我的印象非常深刻,并且我认为是正确的,所以我开始研究自己的算法。那时我没有使用神经网络,我开始使用基于矩阵分解的堆叠特征学习器。我想要学习的不仅仅是视觉特征的层次结构,而是视觉-时间特征的层次结构,我想找到视觉特征与时间的相关性,而不仅仅是与空间的相关性。2012年年中,当我在东京大学做研究时,我获得了一些初步的成功——我将我的设置应用到无监督的few-shot手势识别中,并取得了一些非常好的结果。几个月后,Hinton的实验室赢得了ImageNet竞赛冠军(我在东京大学的实验室也参加了这个竞赛),他们在GPU上训练深度卷积神经网络(deep convnet),因此我对这种方法很感兴趣。

这是人们现在已经忽略的东西,但是用反向传播训练的端到端可微模型只是学习感知的模块化层次表示问题的一种解决方案,还有其他途径尚未得到探索。这个问题本身只是AI领域的众多问题之一。

问:你能分享一下创建Keras的最初动机吗?你有没有想到它会变得如此受欢迎?

François Chollet:没有,我绝对没想到它会变得如此之大。我最初是希望它能在当时使用深度学习的一小群人中引起一些轰动,那是在2015年3月(做深度学习的可能有几千人),但当时没有人知道深度学习能在接下来的几年里变得如此热门。

我开始创建Keras是为了我自己。我当时在业余进行自然语言处理的研究,希望找到一个好的工具来使用RNNs。LSTM算法在当时基本上还不为人所知,但随着神经网络在机器学习领域日益突出,一些人开始研究LSTM在自然语言处理中的应用。据我所知,当时LSTM还没有可重用的开源实现,所以我用Theano做了一个。后来我做了更多的层。它就变成了一个框架。我把它命名为Keras,并且开源了它,一切是从那里发展起来的。

使它与众不同的原因是:与其他框架相比,它非常易于得到,也易于使用;它支持RNNs和convnets(我想它是第一个支持convnets的框架),并且它允许你通过Python代码而不是通过配置文件来定义模型(在这之前,通过配置文件来定义模型是最流行的方法,特别是对于Caffe和PyLearn2)。

问:你对Keras成为TensorFlow 2.0的默认API有何看法?你为什么觉得这是有必要的?

Francois Chollet:TensorFlow是一个非常强大的框架,但是它长期以来一直受到可用性问题的困扰,特别是它是一个庞大的、有时令人困惑的API。TensorFlow 2在很大程度上解决了这些问题。TensorFlow 2改进的核心是两件事:eager execution和Keras API。 Eager execution为TensorFlow带来了一种命令式的编码风格,使其更直观、更易于调试。Keras API将使用模式整合到一个连贯的、真正高效且令人愉快的workflows中,适合于从研究到应用程序开发到部署的各种用户配置文件。我对即将发布的内容感到非常兴奋。你应该很快就会看到了!

问:除了TF和Keras之外,你认为还有哪些框架看起来很有前景?

Francois Chollet:我认为MXNet和它的高级APIGluon很有前景,它们都受到Keras和Chainer的启发。MXNet利用了许多与TensorFlow 2一致的想法—— eager execution和symbolic execution的混合。与TensorFlow一样,它是为数不多的具有实际生产级和可扩展性的框架。MXNet背后有很多工程力量——亚马逊有一个庞大的团队在做这件事。这是一个严肃的项目,有一些非常好的想法和可靠的执行力。

问:对于那些怀着有朝一日在谷歌工作的梦想而对深度学习感兴趣的读者和初学者,你有什么建议?

François Chollet:我认为你不应该把你的梦想和外在的身份标志联系在一起,比如为一家知名公司工作,或者赚一笔钱,或者获得某个特别的title。要弄清楚你生命的价值是什么,然后坚持你的价值观。永远不必为某一个决定后悔。

问:你能告诉我们你生命里的一天是什么样的吗?

Francois Chollet:不是很吸引人,主要是review代码,与人交谈,写设计文档,等等。我仍然编写大量的代码。

问:人们普遍认为,要在深度学习中取得重大成果,需要有大量资源。你认为一个人如果没有谷歌研究员可能拥有的资源,能够对这个领域做出重大贡献吗?

Francois Chollet:当然,有一些类型的问题需要行业规模的训练资源。但是,有很多问题只需要有一个GPU,就能取得重大进展。目前阻碍AI研究的主要原因不是缺乏硬件,而是缺乏多样化的思维。如果你的资源有限,那么不要把时间花在担心GPU上,而是担心你是否在处理正确的问题,是否在提出正确的问题。

问:你一直是“AI伦理”的倡导者。你能分享一些在构建“AI产品”时必须注意的方面吗?

Francois Chollet:其他人对机器学习的伦理问题的讨论比我好得多。比如Kate Crawford,还有Meredith Whittaker。我想对此感兴趣的人都应该看看他们的作品。

问:你觉得机器学习被过度炒作了吗?

François Chollet:在某种程度上,的确是。我认为机器学习在某种程度上既被高估了,也被低估了。一方面,人们往往过度高估了当前机器学习系统的智能和泛化能力,将机器学习视为一根魔杖,遇到任意问题只要挥挥魔杖,问题就能消失。当然,这在很大程度上是错误的,我们的算法中很少有真正的智能,它们的应用范围非常狭窄。

但与此同时,大多数人仍然低估了今天的相对粗糙的系统所能取得的成就,如果我们系统地将它们应用于它们可能解决的每一个问题的话。在某种程度上,机器学习是我们这个时代的蒸汽动力:这是一种非常基本的机制,但如果大规模使用,它仍有可能深刻地改变世界。

问:你认为博士或硕士学位的专业水平是必要的吗,还是一个人可以在不成为“专家”的情况下对深度学习领域做出贡献?

Francois Chollet:当今在深度学习领域很多重要贡献的人都没有博士学位。要想对一个领域做出有意义的贡献,无论是系统开发还是新研究,你必须要有一定水平的专业知识。但很明显,你不需要通过博士课程就能获得专业知识,而拥有博士学位并不能保证你在任何领域都能做出有意义的贡献——理论上应该是这样,但就我所知,现实与这个理论不太相符。

事实上,除非你的目标是成为一名学者,否则我认为获得博士学位并不是获得专业知识的最佳途径。最好的道路是能让你快速、开放地成长的道路。在团队合作和专家密切指导下开展各种项目,你能最快地学到知识。在实践中,典型的博士项目不是那样的。

问:在我们结束之前,对于那些对如何开启深度学习感到不知所措的初学者,你有什么建议吗?

François Chollet:10年后,你能买到一本教科书,上面会可以很好地总结2010年到2020年期间AI的进展。今天发布的大量内容可能看起来很重要,但其中大部分都是噪音。要专注于大问题。

Sanyam Bhutani:非常感谢你接受这个采访。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 深度学习
    +关注

    关注

    73

    文章

    5200

    浏览量

    119803
  • keras
    +关注

    关注

    2

    文章

    18

    浏览量

    6036

原文标题:专访Keras之父:关于深度学习、Keras的诞生和给初学者的建议

文章出处:【微信号:worldofai,微信公众号:worldofai】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    cube AI导入Keras模型出错怎么解决?

    我尝试过cube AI的version7.1.0、6.0.0、5.1.2、4.1.0,导入Keras都是这个报错,求解答 E010(InvalidModelError): Couldn&
    发表于 03-18 06:39

    基于TensorFlow和Keras的图像识别

    TensorFlow和Keras最常见的用途之一是图像识别/分类。通过本文,您将了解如何使用Keras达到这一目的。定义如果您不了解图像识别的基本概念,将很难完全理解本文的内容。因此在正文开始之前
    的头像 发表于 01-13 08:27 340次阅读
    基于TensorFlow和<b class='flag-5'>Keras</b>的图像识别

    深度学习在医学图像分割与病变识别中的应用实战

    来源:易百纳技术社区 基于深度学习的医学图像分割与病变识别随着人工智能技术的不断发展,其在医疗领域的应用越来越受到关注。其中,基于深度学习的医学图像分割与病变识别技术在临床诊断
    发表于 09-04 11:11

    基于Keras在NuMicro M480系列微控制器上实施汽车牌照识别

    应用程序:本文件介绍如何为深层学习技术编程Keras重量,以开发汽车牌照识别,并帮助用户在NuMicro M480系列微控制器上实施汽车牌照识别。 BSP 版本: M480 BSP CMSIS
    发表于 08-29 06:46

    keras可视化介绍

    keras可视化可以帮助我们直观的查看所搭建的模型拓扑结构,以及模型的训练的过程,方便我们优化模型。 模型可视化又分为模型拓扑结构可视化以及训练过程可视化。 以上一讲的mnist为例,演示不同可视化
    发表于 08-18 07:53

    Keras搭建神经网络的一般步骤

    1 keras是什么? Keras 是一个用 Python 编写的高级神经网络 API,它能够以 TensorFlow, CNTK, 或者 Theano 作为后端运行。 Keras 的主要优点
    发表于 08-18 07:35

    keras制作mnist数据集的流程

    = db_test.map(preprocess).batch(batchsz) ​ #创建网络模型 net = keras.applications.VGG16(weights=\'imagenet
    发表于 08-18 06:38

    keras内置的7个常用的优化器介绍

    ) Adadelta (自适应学习速率算法)keras.optimizers.Adadelta(lr=1.0, rho=0.95, epsilon=None, decay=0.0) RMSprop(均方差传播算法
    发表于 08-18 06:32

    keras常用的损失函数Losses与评价函数Metrics介绍

    损失函数(loss function)是用来衡量预测值和真实值差距的函数,是模型优化的目标,所以也称之目标函数、优化评分函数。这是机器学习中很重要的性能衡量指标, 评价函数和损失函数相似,只是关注点
    发表于 08-18 06:31

    如何利用keras打包制作mnist数据集

    keras提供了内置的7个数据集,直接调用用keras.datasets.xxx.load_data()函数即可下载并返回numpy格式数据,比较方便。但是有些时候我们希望加入自己的训练集,这一篇
    发表于 08-18 06:12

    keras顺序模型与函数式模型

    模型 顺序模型允许逐层创建模型以解决许多问题,但是有时我们需要创建更加复杂的模型,比如具有共享图层或多输入多输出的模型,这时我们可以使用keras提供的函数式API模型,它定义了每一层的输入输出,像
    发表于 08-18 06:01

    深度学习算法的选择建议

    深度学习算法的选择建议 随着深度学习技术的普及,越来越多的开发者将它应用于各种领域,包括图像识别、自然语言处理、声音识别等等。对于刚开始
    的头像 发表于 08-17 16:11 347次阅读

    怎么开始自己的第一块pcb板子

    最近想画一块自己的pcb板子,学习一下画pcb板的流程和增加自己的熟练度,是从自己感兴趣的方向着手,还是画个简单的模块或者最小系统板,大家是怎么开始画出自己的第一块pcb板子的,有没有大佬分享一下自己的经历啊呀
    发表于 05-29 00:37

    3 keras和tf.keras(2)#神经网络

    神经网络深度学习
    未来加油dz
    发布于 :2023年05月16日 18:47:22

    3 keras和tf.keras(1)#神经网络

    神经网络深度学习
    未来加油dz
    发布于 :2023年05月16日 18:46:59