11月份最热门的机器学习开源项目及Reddit讨论TOP 5

2018 年 12 月 28 日

11月份最热门的机器学习开源项目及Reddit讨论TOP 5

介绍


当数据科学家最棒的事情之一就是编程。很多时候,我发现自己沉浸在为某个项目从零开始的编程时光中。当你看到你的努力孕育了一个成功的模型时,那是多么的令人兴奋!


但是作为一名数据科学家(或者程序员),在不同阶段创建代码检查点同样重要。了解上一次开始的位置非常有帮助。这样一来,如果你需要查看历史代码或者将代码分支到不同的路径,总会有回退的余地。这也是为什么 GitHub 是一个绝佳的代码平台。


该系列的前几篇文章已经阐述了为什么每个数据科学家都应该有一个活跃的 GitHub 账户。无论是为了合作、重新开始或组合代码,或者为了教育目的,这都是增强代码能力和知识的最佳平台。



现在让我们进入文章的核心——机器学习代码!我挑选了一些很有意思的项目,我觉得每个数据科学家都应该尝试一下。


除了编程之外,还有许多方面与数据科学家有关。我们需要了解社区中的所有最新发展,其他的机器学习专家和思想先锋在谈论什么,在一个有争议的项目中工作的道德含义是什么,等等。这也是为什么我在文章中加入了 Reddit 的讨论内容。


GitHub 热门项目



Open AI深度强化学习资源



项目地址:https://github.com/openai/spinningup


在这个系列中我们要继续补充强化学习的资源,这里有一个迄今为止最好的——OpenAI 的资源大放送!这是一个开源的教育资源,目的是让大家更容易学习深度强化学习。考虑到强化学习对大多数人来说过于复杂,这是一个对新人很友好的知识库。


这个代码库包含了一些便利的资源:


  • RL术语介绍、各种算法和基本理论

  • 一篇关于如何成长为RL研究人员的论文

  • 一份按主题分类的重要论文列表

  • 简短的、独立实现的关键算法的代码库

  • 一些练手的小练习


NVIDIA的WaveGlow



项目地址:https://github.com/NVIDIA/waveglow


这一份是为音频、语音处理领域的人们准备的。WaveGlow 是一个基于流的生成网络,用于语音合成。换句话说,它是一个可以从梅尔谱图中生成高质量语音的网络(没错,一个单独的网络!)


这个项目包含 WaveGlow 的 PyTorch 实现,以及一个预训练模型。这真的是一个不错的框架,如果你想再深入研究,可以点击下面的链接:



BERT作为服务



项目地址:https://github.com/hanxiao/bert-as-service


我们在上个月的文章中介绍了 BERT 的 PyTorch 实现,这里是另一个版本。对于那些刚刚接触 BERT 的人,它代表转换器的双向编码器表示(Bidirectional Encoder Representations from Transformers)。它是一种预训练语言表示的方法。


BERT 的结果让 NLP 世界为之一亮,Google 的研究人员也非常友好地发布了一些预训练模型以方便研究。


这个代码库使用 BERT 作为语句编码器,并且作为一种可以通过 ZeroMQ 访问的服务,你只需要两行代码就可将语句映射成固定长度的特征表示。BERT 使用简单、速度极快、并且扩展性好。试试吧!


谷歌Quick Draw游戏Python实现



项目地址:https://github.com/1991viet/QuickDraw


Quick Draw 是谷歌开发的一个流行的在线游戏,神经网络会猜测你在画什么。神经网络从每幅图画中学习,提高正确猜测涂鸦内容的能力。开发人员从用户先前绘制的涂鸦中建立了一个庞大的数据集。这是一个开源的数据集,这里是数据集地址:https://github.com/googlecreativelab/quickdraw-dataset


你现在可以基于这个仓库,用 Python 构建自己的 Quick Draw 游戏。有一个详细教程。使用这个代码,你可以运行一个应用程序,可以在计算机的摄像头前绘制,也可以在画布上绘制。


GAN理解和可视化



项目地址:https://github.com/CSAILVision/gandissect


GAN 分解是由麻省理工学院的计算机科学和人工智能实验室的研究人员开创的方法,是一种独特的可视化和理解生成对抗网络(GAN)神经元的方法。但这并不仅限于此——研究人员还创建了 GANPaint 来展示 GAN 分解是如何工作的。


GAN 分解通过检查和操纵特定 GAN 模型的内部神经元,探索 GAN 模型学习到了什么。可以先看看研究论文和视频演示,然后直接进入 GitHub 仓库,直接进入代码!


Reddit 讨论



为什么一开始就需要梯度下降?


在学习基本的机器学习概念时,你的脑海中是否出现过这个问题?梯度下降是我们在初期学习时一定会遇到的基本算法之一,并且已经证明该方法在 ML 中是非常有效的。但是一旦你开始阅读这篇文章,你会对之前学习的内容产生疑问。


起初这个问题直截了当,后来变成了 Reddit 高层人士之间的大讨论。我非常喜欢浏览这些评论,我相信如果你对这个领域感兴趣,对数学抱着严谨的态度,也一定会觉得它很有用的。


大规模神经网络的逆向工程


当复杂庞大的神经网络的开发人员突然消失,而没有留下任何理解网络所需的文档时,你该怎么做?这可不是凭白无故的虚构,而是实实在在会发生的一个常见情况,提问者本人就遇到过。


这种情况经常发生在开发人员身上,但是当涉及到深度学习时,完全是一种新的境况。这篇文章介绍了几种方法,科学家可以用于还原深度模型最初的设计思路。有些回答很实际,而有些则很荒谬,但每种回答都增加了一种视角。或许某天当你也遇到这种情况时,它们会帮到你。


关于TensorFlow2.0 API的争论


这个话题下大量的评论吸引了我的注意力(撰写本文时有 110 条评论),世界上有什么话题能引起如此大的争议呢?但是,当你接着阅读时,辩论者之间完全不同的意见让人难以置信。除了 TensorFlow 被嘲笑“不是最好的框架”之外,还有很多人在点赞 PyTorch(如果你使用过 PyTorch 就会明白这并不奇怪)。


这一切开始于 Francois Chollet 将自己的想法发布到 GitHub 上,在机器学习社区点了一把火。


基于预测奖励的强化学习


这篇文章中另一个 OpenAI 的项目,是他们的又一个巨大突破。标题看上去没那么特别,但是你要理解 OpenAI 团队做出了什么。正如一位 Reddit 用户所指出的,OpenAI 的工作让我们向模仿人类行为的机器更近了一步。


它耗费了大约一年的训练时间,以超越人类的水平通关了蒙提祖马的复仇游戏,这给人留下了十分深刻的印象!


找到第一份数据科学家工作


这是为那些有抱负的数据科学家提供的文章。文章的作者阐述了他是如何得到这份令人垂涎的工作,他的背景,他从哪里学习的数据科学等。回答了这些标准问题之后,他写了一篇非常好的文章,关于处于类似情况的人们可以做些什么来实现他们的抱负。


文章后面还给出了一些有用的意见。当然,你也可以向作者提出你自己的问题。


结束语


这个月的收藏不少。我个人认为 GAN 分析的代码库相当吸引人。我目前正在尝试在自己的设备上复制它,这应该会很顺利。我也在密切关注“大规模神经网络逆向工程”这个主题,因为如果我发现我自己也处在同样的困境中,那么这个帖子给出的想法会真的很有帮助。


你最喜欢哪个 GitHub 项目?你认为哪个 Reddit 的主题能够脱颖而出?可以留言告诉我们。


查看英文原文:5 Best Machine Learning GitHub Repositories & Reddit Discussions


2018 年 12 月 28 日 07:071305
用户头像

发布了 51 篇内容, 共 22.2 次阅读, 收获喜欢 60 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

我们是活着,而不是活过

小天同学

个人感想 生活,随想 随笔杂谈 日常思考

路漫漫其修远兮

无心水

Hive底层执行引擎的深度剖析(免费)

奈学教育

大数据 hive

【译】业务转型是什么?

涛哥

业务中台 数字化转型

ARTS打卡week#1

对方正在输入…

ARTS 打卡计划

架构演变之路:为何要搞微服务架构?

arthinking

Kubernetes 微服务 dubbo SpringCloud

收藏!如何有效实施devops?

DevOps 运维 持续集成 开发 自动化测试

运维日志里隐藏的安全危机,你知道怎么挖吗?听听专家怎么说

secisland

态势感知 关联分析 SOC

手机是21世纪最成功的毒品

Neco.W

学习 提升效率 工作

坚持ARTS-week2

王钰淇

ARTS 打卡计划

『PyTorch』使用指定GPU的方法

kraken0

人工智能 学习 图像识别

Docker 搭建 Postgres + pgAdmin 环境

姜雨生

Docker DevOps postgres

SpringBatch系列入门之Tasklet

稻草鸟人

spring SpringBatch 批处理

分布式事务 - 理论模型

Java收录阁

分布式事务

洞悉MySQL底层架构:游走在缓冲与磁盘之间

arthinking

MySQL 数据库 MVCC

【vue-openlayers】弹窗

学习委员

html Vue 前端 openlayers ol

面试题:教你如何吃透RocketMQ

奈学教育

架构 RocketMQ 架构设计

安全做到首位 统信UOS后激勃发

统小信uos

网络安全 操作系统

同一浏览器只允许登录一个账号

brave heart

Vue 前端

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (十四)编写测试-显示名

编程道与术

Java 编程 TDD 单元测试 JUnit

霸榜18年,作者连续20年获得微软MVP,这本SQL书凭什么成为畅销经典

图灵社区

数据库 SQL语法 sql查询

一文入门JVM虚拟机

Simon郎

深入理解JVM

redis持久化RDB与AOF

wjchenge

redis

谈谈控制感(13):为什么是旁观者清?

史方远

读书笔记 个人成长 心理学 随笔杂谈

程序员的晚餐 | 6 月 2 日 红烧鸡爪的味道

清远

美食

Vim使用总结

JDoe

vim

初识 LeetCode

Puran

LeetCode arts

LeetCode | 1. Two Sum 两数之和

Puran

Python C# 算法 LeetCode arts

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (十五)编写测试-断言\假设\使测试失效

编程道与术

Java 编程 TDD 单元测试 JUnit

奈学大数据开发工程师分享787个技术,快来收割

奈学教育

大数据

美国黑客曝出政府惊天内幕,看区块链如何解决!

CECBC区块链专委会

CECBC 区块链技术 民生 不可篡改 信息公开

11月份最热门的机器学习开源项目及Reddit讨论TOP 5-InfoQ