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

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

3天内不再提示

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

DPVg_AI_era 来源:未知 作者:李倩 2018-11-19 09:29 次阅读

本文是对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:非常感谢你接受这个采访。

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

    关注

    42

    文章

    4773

    浏览量

    100874
  • 机器学习
    +关注

    关注

    66

    文章

    8423

    浏览量

    132752

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

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

收藏 人收藏

    评论

    相关推荐

    KerasHub统一、全面的预训练模型库

    深度学习领域正在迅速发展,在处理各种类型的任务中,预训练模型变得越来越重要。Keras 以其用户友好型 API 和对易用性的重视而闻名,始终处于这一动向的前沿。Keras 拥有专用的内
    的头像 发表于 12-20 10:32 116次阅读

    NPU在深度学习中的应用

    随着人工智能技术的飞速发展,深度学习作为其核心驱动力之一,已经在众多领域展现出了巨大的潜力和价值。NPU(Neural Processing Unit,神经网络处理单元)是专门为深度学习
    的头像 发表于 11-14 15:17 666次阅读

    如何使用Python构建LSTM神经网络模型

    : NumPy:用于数学运算。 TensorFlow:一个开源机器学习库,Keras是其高级API。 Keras:用于构建和训练深度学习模型
    的头像 发表于 11-13 10:10 428次阅读

    GPU深度学习应用案例

    GPU在深度学习中的应用广泛且重要,以下是一些GPU深度学习应用案例: 一、图像识别 图像识别是深度学习
    的头像 发表于 10-27 11:13 414次阅读

    keras模型转tensorflow session

    和训练深度学习模型。Keras是基于TensorFlow、Theano或CNTK等底层计算框架构建的。TensorFlow是一个开源的机器学习框架,由Google Brain团队开发。
    的头像 发表于 07-05 09:36 559次阅读

    keras的模块结构介绍

    : 简介 Keras是一个开源的深度学习库,由François Chollet于2015年创建Keras的目标是提供一个简单、灵活且易于使
    的头像 发表于 07-05 09:35 385次阅读

    如何使用Tensorflow保存或加载模型

    TensorFlow是一个广泛使用的开源机器学习库,它提供了丰富的API来构建和训练各种深度学习模型。在模型训练完成后,保存模型以便将来使用或部署是一项常见的需求。同样,加载已保存的模型进行预测或
    的头像 发表于 07-04 13:07 1592次阅读

    导入keras或者onnx模型到cubeai进行分析,为什么会报错?

    请问我导入keras或者onnx模型到cubeai进行分析,为什么会报错,而且没有报错内容,cubeai版本9.0.0。换成8.1.0版本后报错内容是invalid network。该怎么入手解决。
    发表于 07-03 07:55

    基于stm32h743IIK在cubeai上部署keras模型,模型输出结果都是同一组概率数组,为什么?

    基于stm32h743IIK,在cubeai上部署keras模型,模型输出结果都是同一组概率数组,一点也搞不明白,看社区也有相同的问题,但没有解决方案
    发表于 05-20 08:18

    深度解析深度学习下的语义SLAM

    随着深度学习技术的兴起,计算机视觉的许多传统领域都取得了突破性进展,例如目标的检测、识别和分类等领域。近年来,研究人员开始在视觉SLAM算法中引入深度
    发表于 04-23 17:18 1315次阅读
    <b class='flag-5'>深度</b>解析<b class='flag-5'>深度</b><b class='flag-5'>学习</b>下的语义SLAM

    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

    为什么深度学习的效果更好?

    ,这些原则和进步协同作用使这些模型异常强大。本文探讨了深度学习成功背后的核心原因,包括其学习层次表示的能力、大型数据集的影响、计算能力的进步、算法创新、迁移
    的头像 发表于 03-09 08:26 638次阅读
    为什么<b class='flag-5'>深度</b><b class='flag-5'>学习</b>的效果更好?

    谷歌模型怎么用手机打开文件

    )、.onnx(Open Neural Network Exchange)等。这些文件通常是为机器学习深度学习模型设计的。
    的头像 发表于 02-29 18:17 1472次阅读

    基于TensorFlow和Keras的图像识别

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

    如何从零开始构建深度学习项目?(如何启动一个深度学习项目)

    性能重大提升的背后往往是模型设计的改变。不过有些时候对模型进行微调也可以提升机器学习的性能。最终的判断可能会取决于你对相应任务的基准测试结果。
    发表于 01-11 10:49 309次阅读
    如何从零<b class='flag-5'>开始</b>构建<b class='flag-5'>深度</b><b class='flag-5'>学习</b>项目?(如何启动一个<b class='flag-5'>深度</b><b class='flag-5'>学习</b>项目)