线性代数与张量开放课程

数学是机器学习的基础。斯坦福大学教授 Stephen Boyd 联合加州大学洛杉矶分校的 Lieven Vandenberghe 教授出版了一本基础数学书籍《Introduction to Applied Linear Algebra》,从向量到最小二乘法,分三部分进行讲解并配以辅助资料。此外,这本书也是斯坦福 EE103 课程、UCLA EE133A 课程的教材,由剑桥大学出版社出版(允许网络公开)。

该书还可用于自学,并辅以在线提供的资料,例如下面这份 470 页的 PPT.

Tencent AI Lab 开源大规模 NLP 数据集

10 月19 日,Tencent AI Lab 宣布开源大规模、高质量的中文词向量数据。该数据集包含 800 多万中文词汇。Tencent AI Lab 表示,相比现有的公开数据,该数据在覆盖率、新鲜度及准确性上大幅提高,为对话回复质量预测和医疗实体识别等自然语言处理方向的业务应用带来显著的效能提升。

Tencent AI Lab 此次公开的中文词向量数据包含 800 多万中文词汇,其中每个词对应一个 200 维的向量。相比现有的中文词向量数据,Tencent AI Lab 的中文词向量着重提升了以下 3 个方面:

  • 覆盖率(Coverage):该词向量数据包含很多现有公开的词向量数据所欠缺的短语,比如『不念僧面念佛面』、『冰火两重天』、『煮酒论英雄』、『皇帝菜』、『喀拉喀什河』等。
  • 新鲜度(Freshness):该数据包含一些最近一两年出现的新词,如『恋与制作人』、『三生三世十里桃花』、『打call”、『十动然拒』、『供给侧改革』、『因吹斯汀』等。
  • 准确性(Accuracy):由于采用了更大规模的训练数据和更好的训练算法,所生成的词向量能够更好地表达词之间的语义关系。
Tencent AI Lab Embedding Corpus for Chinese Words and Phrases
Tencent AI Lab Embedding Corpus for Chinese Words and Phrases

吴恩达《机器学习训练秘籍》完整中文版

人工智能,机器学习和深度学习正在改变众多行业。Andrew Ng 教授近期在写一本书,教你如何构建机器学习项目。近日,Andrew Ng 教授(吴恩达)正式发布了《Machine Learning Yearning》的完整中文版。本书的重点不在于教授传统的机器学习算法,而在于教你如何使机器学习算法发挥作用。一些 AI 的技术课程会给你一个工具,而这本书将教会你如何使用这些工具。如果你渴望成为 AI 的技术领导者,并想要学习如何为团队设定一个方向,本书将有所帮助。

GitHub地址项目 GitHub 地址

人工智能、机器学习和认知计算

近日,IBM 发布了《人工智能、机器学习和认知计算入门指南

几千年来,人们就已经有了思考如何构建智能机器的想法。从那时开始,人工智能 (AI) 经历了起起落落,这证明了它的成功以及还未实现的潜能。如今,随时都能听到应用机器学习算法来解决新问题的新闻。从癌症检测和预测到图像理解和总结以及自然语言处理,AI 正在增强人们的能力和改变我们的世界。

现代 AI 的历史包含一部伟大的戏剧应具有的所有要素。上世纪 50 年代,随着对思维机器及阿兰·图灵和约翰·冯·诺依曼等著名人物的关注,AI 开始崭露头角。尽管随后经历了数十年的繁荣与萧条,并被寄予了难以实现的厚望,但 AI 和它的先驱们仍然一直在努力前行。如今,AI 展现出了它的真正潜力,专注于应用并提供深度学习和认知计算等技术。

新一代人工智能的时间线
新一代人工智能的时间线

DeepMind 开源图网络库

今年 6 月份,Deepmind 发表了一篇论文,将图与深度神经网络相结合,由此提出了一种新型图网络。由于图网络主要采用神经网络的方式对图进行操作,因此它又可以称为图神经网络。机器之心做了详细解读

图网络即可以在社交网络或其它基于图形数据上运行的一般深度学习架构,它是一种基于图结构的广义神经网络。图网络一般是将底层图形作为计算图,并通过在整张图上传递、转换和聚合节点特征信息,从而学习神经网络基元以生成单节点嵌入向量。生成的节点嵌入向量可作为任何可微预测层的输入,并用于节点分类或预测节点之间的连接,完整的模型可以通过端到端的方式训练。

目前图网络在监督学习、半监督学习和无监督学习等领域都有探索,因为它不仅能利用图来表示丰富的结构关系,同时还能利用神经网络强大的拟合能力。

一般图网络将图作为输入,并返回一张图以作为输入。其中输入的图有: edge- (E )、node- (V ) 和 global-level (u) 属性,输入也有相同的结构,只不过会使用更新后的属性。如下展示了输入图、对图实现的计算及输出图。论文地址

图网络库
图网络库

GitHub地址项目 GitHub 地址

脑科学与类脑机器学习

近日 CCAI 2018 大会上,中科院神经科学所所长,中国科学院院士,美国国家科学院院士蒲慕明作题为《脑科学与类脑机器学习》的主题演讲。以下为演讲小结:

可借鉴的自然神经网络特性

1. 神经元的种类

兴奋性和抑制性神经元活动的平衡是正常网络功能所必要的。

  • 突触延迟(synaptic delay)在神经环路中起关键作用。
  • 抑制性中间神经元通常出现在兴奋性输入之后,可防止神经元过度兴奋,可消除脉冲序列(spiketrain)的尾巴以提高信息的时间精确度(temporal precision),可通过抑制旁侧的神经元的兴奋性以增加对比信息的空间精确度(spatialprecision)。

2. 多方向(顺向、逆向、侧向)的神经连接

连接不只有一个方向,大多数的连接是正向的,也有逆向的,也有侧向的,而且兴奋性和抑制性神经元都有多方向的联接,而且是有空间和神经元种类特异性的联接。

3. 神经突触的可塑性

突触的功能有可塑性:传递效率的增强与消弱 (LTP/LTD); 可依赖于突触前后神经元同步电活动的频率,也可依赖于突触前后神经元电活动时序 (STDP)。

突触结构可塑性:包括树突棘的形态变化,和突触的新生(formation)与修剪 (pruning)。

突触可塑性的传播; LTP 和 LTD 的有序传播:包括逆向转播(Back-Propagation),突触效率可减弱也可增强,和侧向传播(LateralPropagation)有选择性地在突触前和突触后传播。

4. 记忆的储存、提取与消退

理解记忆不应只关注储存问题,还有记忆消退问题, 消退的意义可能比储存还要更重要。

  • 记忆的储存:网络中特定突触群的效率与结构修饰。
  • 记忆的遗忘:突触功能与结构修饰会随时间消退。
  • 短期记忆转化为长期记忆:有规则重复的重要性。
  • 记忆提取:电活动的再现于储存记忆的突触群。
  • 强化学习:依据输出的结果对学习相关突触群的修饰, 调质神经元在修饰中的作用。

5. 赫伯神经元集群概念的应用

  • 使用嵌套式集群来组成多成分、多模态的信息。
  • 不同模态的信息在网络的不同区域处理时,可通过侧向连接进行交互影响。
  • 可使用同步或有相差的电活动来捆绑不同区的神经集群。
  • 输入信息的拓扑结构在传输过程中的不同层面有所保存。

对人工神经网络/机器学习的建议

  1. 摆脱深度学习网络的诱惑。
  2. 建立全新的人工网络架构和算法,目标是高效、节能、无监督或者半监督学习。
  3. 以脉冲神经网络为基础,加入传递延迟。每一个突触传递都有一个时间延迟,这是很多网络处理信息的关键。
  4. 从简单网络为基础,每次加入一个自然神经网络的特性,检测其效能,然后逐步完善。

DeepMind 开源强化学习库:松露

近日,DeepMind 开源了一个基于 TensorFlow 的强化学习库,名字叫 TRFL(译名:松露)。思路是模块化,强调灵活度:如果把造智能体想象成搭积木,许多关键的、常用的木块都在这里集合了:比如,DQN (深度 Q 网络) 、DDPG (深度确定策略梯度),以及 IMPALA (重要性加权演员学习者架构) ,都是 DeepMind 功勋卓著的组件。库里面的组件,虽然来源各不相同,但都经过严密测试,因而相对可靠;并且只要一个API,对开发者比较友好。即便是 DeepMind 团队自身做研究,也严重依赖这个库。

深度强化学习 (DRL) ,依赖价值网络或策略网络的不断更新。DeepMind 团队发现,比起传统的 RL 更新,损失函数更加模块化,更容易结合到监督/无监督的目标里去。松露里包含了许多损失函数和运算,全部在纯 TensorFlow 里实现。不是完整算法,但是各自经过严密测试,可以用来搭成完整的智能体。

此前,Google 开源了强化学习框架 Dopamine,中文叫多巴胺,也是基于 TensorFlow。名字取自人类大脑奖励机制中的主角物质多巴胺,为了表达神经科学和强化学习之间的缘分联系。多巴胺框架,也是强调灵活性、稳定性和复现性。

GitHub地址项目 GitHub 地址

AutoML 新书发布,告别调参?

近期,由 Frank Hutter, Lars Kotthoff, Joaquin Vanschoren 撰写的《AutoML:方法,系统,挑战》『AUTOML: METHODS, SYSTEMS, CHALLENGES (NEW BOOK)』,221页的草稿版本已经放出,详细讲解了所有 AutoML 系统背后的基础知识,以及对当前 AutoML 系统进行了深入描述,Auto-WEKA、Hyperopt-Sklearn、Auto-sklearn 等,最后介绍了 AutoML 的挑战。作者当前正在完成这本新书的编辑工作,它将由 NIPS 2018 出版发行。

如果你用过机器学习算法,那一定体验被算法调参支配的恐怖。面对错综复杂的算法参数,算法使用者们往往要花费无尽的黑夜去不断尝试,犹如大海捞针。有的时候加班到深夜,终于找到了一个靠谱的参数组合,然而找到的参数组合真的是最优的么?

传统上,术语 AutoML 用于描述模型选择和/或超参数优化的自动化方法。这些方法适用于许多类型的算法,例如随机森林,梯度提升机器(Gradient boosting machines),神经网络等。 AutoML 领域包括开源 AutoML 库,研讨会,研究和比赛。初学者常常觉得他们在为模型测试不同的超参数时通常仅凭猜测,而将这部分过程的自动化可以使机器学习变得更加容易。即使是对经验丰富的机器学习从业者而言,这一自动化过程也可以加快他们的速度。

 

数据素养:新一代人工智能时代的重要技能

近日,Tableau 博客上发表了《Data literacy : A critical  skill for the 21st century》文章,表示数据素养已成为 21 世纪至关重要的技能,在新一轮由数据,算法,计算力推动的深度学习与新一代人工智能时代,数据素养的重要性尤为突出。以下为原文摘录:

在我们熟练掌握复杂的字母和文字之前,我们中的很多人就已经学会了计算,阅读和书写数字。我们身边每天都充斥着大量的事实和数据,但我们对这些数字背后的含义有多深的了解?

从数据中获取有意义的信息的能力,称为数据素养。

Gartner 预计到 2020 年,80% 的组织将开始推行内部数据素质计划,以提高其员工的技能。虽然大多数公司仍在探寻如何理解自己的数据,但新一代以数据为中心的公司正在我们周围萌芽。

新一代公司不仅仅只是记录交易或是推销新产品。他们使用数据来预测并影响您的下一步行动。简而言之,数据是使您业务永不过时的关键。这种对数据的依赖程度要求组织中的每个人都具备数据素养。这项技能不仅需要基于事实的决策,还需要用户能够探索和试验数据来发现潜在的机会。没有人能否认数据的影响力,这种趋势在短期内不会放缓。

就像过去几百年来文化教育对人类进步的贡献一样,数据素养对于保证您和您的组织紧跟时代潮流而言至关重要。更重要的是,理解数据不再仅仅是数据科学家和技术专家的技能,而是我们所有人的基本技能。各大学院正在尽可能快地而培养数据科学家,以满足不断增长的需求。与此同时,并非所有工作都需要核心数据科学技能,但是迫切需要每位员工都具备数据素养,以便能够加入数据经济并做出贡献。

从表面上看,基于本文前面的定义,数据素养是至关重要的一部分,因为它使我们能够理解他人创建的数字,图表和图形。然而,这只是一部分。因为当数据以漂亮的图表呈现时,这并不就意味着它易于理解或者它完全正确。了解数据的来源,收集方式以及如何分析和可视化数据都是数据素养的基本要求。

更重要的是,所提供的数据应该对公司有利。很多次,我与那些被越来越多的报告所淹没的组织交谈时,都对他们缺乏预期和见解的数据感到失望。我们需要数据素养来确定有价值且有意义的材料。

在这个阶段,数据素养对于数据探索和发现来说至关重要。这是关于从您的数据中提问并回答问题。在数据探索阶段结束之后,用户需要将结果可视化以便理解,与更广泛的受众分享他们的结论,并围绕结果创建叙述。除数据分析过程外,数据素养技能还包括清理和准备分析数据的能力。并始终以批判的眼光看待结果。

在组织中提升数据素养始于文化。组织需要建立数据优先的文化以鼓励数据的使用,大力支持在决策中使用事实并培养好奇心和批判性思维的文化。创造这种文化需要正确的技术和合适的人才相结合。招聘将是我们看到这种转变发生的首个方式之一,一旦公司雇用了数据驱动的员工,他们将会支持整个组织的数据使用。

这个转变有时会让人感到不适应,但我们需要接受。即使人类比机器更难适应这种转变,但有一样是清楚的,这需要从上层开始。领导团队要需要相信它,促进它并照它行事。数据素养是一种新语言,我们都需要精通它。随着数据无处不在,它将成为 IT 和业务之间,普通数据科学家和领域专家之间的交流方式。

数据科学开发新标准:Jupyter Notebook

IPython 是一个 Python 库,最初旨在改进 Python 提供的默认交互式控制台并使其对科学家友好。 在2011年,IPython 首次发布10年后,IPython Notebook 被引入。 这个基于 Web 的 IPython 接口把代码,文本,数学表达式,内联图,交互式图形,小部件,图形界面以及其他丰富的媒体集成到一个独立的可共享的 Web 文档中。 该平台为交互式科学计算和数据分析,乃至当前火热的深度学习与新一代人工智能提供了理想的门户。 改名为 Jupyter Notebook 的 IPython 已经成为研究人员,工程师,数据科学家,教师和学生不可或缺的一部分。

时至今天,Jupyter 本身就是一个生态系统,具有几种可供选择的 Notebook 界面(JupyterLab,nteract,Hydrogen 等),交互式可视化库,与 Notebook 兼容的创作工具。除了Jupyter Notebook 的丰富传统以及它为开发人员提供的更丰富的生态系统之外,还有十个理由让数据科学开始将 Jupyter 用于数据科学项目开发。

  1. 聚合所有元素:Jupyter 笔记本是一个基于 Web 的交互式环境,它将代码,富文本,图像,视频,动画,数学公式,图表,地图,交互式图形和小部件以及图形用户界面组合成一个文档。
  2. 易于共享:笔记本保存为结构化文本文件(JSON格式),这使得它们可以轻松共享。
  3. 易于转换:Jupyter 附带了一个特殊的工具 nbconvert,可将 notebook 转换为其他格式,如 HTML 和PDF。 另一个在线工具 nbviewer 允许我们直接在浏览器中渲染一个公共可用的笔记本。
  4. 独立于语言:Jupyter 的架构与语言无关。 客户端和内核之间的解耦使得用任何语言编写内核成为可能。同时,对R,Julia,Python 具有天然的支持。
  5. 易于创建内核包装器:Jupyter 为可以用 Python 包装的内核语言提供了一个轻量级接口。 包装内核可以实现可选的方法,特别是代码完成和代码检查。
  6. 易于定制:Jupyter 界面可用于在 Jupyter Notebook(或其他客户端应用程序,如控制台)中创建完全定制的体验。
  7. 魔术命令:使用自定义魔术命令创建 IPython 扩展,使交互式计算变得更加简单。 许多第三方扩展和魔术命令都存在,例如,允许在笔记本中直接编写 Cython 代码的 %% cython。
  8. 轻松复现实验结果:Jupyter 笔记本可以帮助您轻松进行高效且可重复的交互式计算实验。 它可以让你保存你的工作的详细记录。 此外,Jupyter Notebook 的易用性意味着您不必担心可重复性; 只需在笔记本上做所有的互动工作,将它们置于版本控制之下,并定期提交。 不要忘记将代码重构为独立的可重用组件。
  9. 有效的教学和学习工具:Jupyter 笔记本不仅是科学研究和数据分析的工具,而且是教学的好工具。越来越多的教育企业与机构开始采用 Jupyter 开发先进的教育资源。
  10. 交互式代码和数据探索:ipywidgets 包提供了许多用于交互式浏览代码和数据的通用用户界面控件。

正因如此,跨象乘云™ 也将 Jupyter Notebook 作为深度学习与新一代人工智能科研教学一体化实验平台的交互式编程实验环境的核心部件。

机器学习的数学基础(PDF书籍)

近期,由 Marc Peter Deisenroth,A Aldo Faisal 和 Cheng Soon Ong 撰写的《机器学习数学基础》(Mathematics for Machine Learning)381 页草稿版本已经放出,作者表示撰写这本书旨在激励人们学习数学概念。这本书并不打算涵盖前沿的机器学习技术,因为已经有很多书这样做了。相反,作者的目标是通过该书提供阅读其他书籍所需的数学基础。这本书分为两部分:数学基础知识和使用数学基础知识进行机器学习算法示例。值得初学者收藏和学习!

机器学习的数学基础

本文转载自:『SIGAI 图灵人工智能』微信公众号 ——

数学是机器学习的内功。作为机器学习的基石,数学知识无论如何是绕不开的,机器学习中大量的问题最终都可以归结为求解最优化问题,微积分、线性代数是最优化方法和理论的基础,很多机器学习算法的建模涉及到概率论,由此可见学好数学知识多么必要。不少准备或刚刚迈入机器学习的同学,在面临数学基础的学习时,会遇到两个问题:

  • 不知道机器学习和深度学习到底要用到哪些数学知识
  • 无法真正理解这些数学知识,并用于机器学习的推导证明

事实上,要理解和掌握绝大部分机器学习算法和理论,尤其是对做工程应用的人而言,真正所需要的数学知识不过尔尔,主要包括了:

  • 微积分
  • 线性代数
  • 概率论
  • 最优化方法
典型算法和理论结论所用到的数学知识
典型算法和理论结论所用到的数学知识

只有明白自己所学的数学知识可以应用到哪一块机器学习的算法或者理论中,才能更有针对的掌握对应的数学知识。另外无论是哪一门学问,都不是一蹴而就的,反反复复地去复习和运用知识,才能牢记掌握,机器学习中的数学知识也不例外。

Python 交互式的学习资源

Project Python 是一本免费的交互式书籍,它通过使用图形、动画和游戏来教你用 Python编写代码。后面你还将学到解决经典计算机科学问题的方法,软件设计的原则,以及如何分析算法性能。即使基础薄弱你也不会感到吃力。交互书籍覆盖的内容包括:

  • 功能,抽象和风格
  • 变量和表达式
  • 循环和条件
  • 调试
  • 参数,返回值和范围
  • 动画; 鼠标和键盘输入
  • 列表和 for 循环
  • 读写文本文件
  • 嵌套循环
  • 物理模拟
  • 类和对象
  • 递归
  • 排序
  • 分析算法
  • 分类算法分析
  • 堆栈,队列和词典
  • 链接列表
  • 图表

Text-to-SQL 数据集:Spider

近期,耶鲁大学创建了一个新型大规模复杂跨域语义解析和 Text-to-SQL 数据集 Spider。研究者用多个当前最优模型进行实验,最好的模型在数据库分割设置下仅能达到 14.3% 的精确匹配准确率。Spider 数据集对未来研究是一个巨大挑战。

新千禧年开始后,每天生产的数据量呈指数级增长,它们大部分存储在关系数据库中。近年来,访问这些数据成为大多数大公司的兴趣,这些公司可以使用结构化查询语言(SQL)查询数据。随着手机的发展,更多个人数据也被存储。因此,更多来自不同背景的人尝试查询和使用自己的数据。尽管目前数据科学非常流行,但是大部分人不具备足够的知识来写 SQL、查询数据。此外,大部分人没有时间学习和了解 SQL。即使对于 SQL 专家,一次又一次地写类似的查询也是很单调的任务。因此,今天海量可用的数据无法有效访问。我们从哪里找到大量问题和 SQL 对标注数据?创建此类数据集非常耗时,因为标注人员必须理解数据库模式,问问题然后写出 SQL 答案,所有这些都需要特定的数据库知识。而让这件事变得更加困难的是:具备多个表的非私人数据库数量非常有限。为了解决该任务对大型高质量数据集的需求,我们创建了数据集 Spider,它包含 200 个具备多个表的数据库、10,181 个问题、5,693 个对应的复杂 SQL 查询。所有这些由 11 名耶鲁大学学生标注完成,共耗时 1,000 小时!

GitHub地址项目 GitHub 地址