探索深度学习【序章】 Machine Learning Engineer Career Path--Neural Networks with TensorFlow

在 github 上发现了一套关于机器学习的学习路径,主要包含 Scikit-learn 和 基于TensorFlow的深度学习 两部分学习内容。博主最近正在尝试学习深度学习,所以想按照深度学习的路径走一遍并将各路径节点翻译出来,一方面给自己坚持下去的动力,另一方面可以提供给其他人作参考。

再次,以下部分为翻译,原文见 https://github.com/clone95/Virgilio/tree/master/LearningPaths/Machine%20Learning%20Engineer%20Career%20Path

在这一部分,我们将从零基础向神经网络全面理解进发,感谢斯坦福大学深度学习课程和一些我在网上搜索到的教程。学习的材料部分来自于谷歌,部分来自于斯坦福和剑桥大学。通过学习这些内容,你可以做到将神经网络(ANN, CNN, RNN)应用于一些机器学习任务中。这些是TensorFlow应用案例

学习神经网络的理论和应用并不是一件容易的事情。你可能需要重复地学习这些教程才能真正地理解。

在学习完我们提供的 TensorFlow 教程,循环地进行以下三个步骤:

1. 通过学习斯坦福的课程获得对深度学习的整体印象,不要太纠结与数学表达式,重点关注 what and why。

2. 通过理论+教程+例子(比如:RNN 理论 + RNN 教程 + RNN 应用实战)就一种类型的神经网络持续探索一 
   段时间,你所需要的资源都会在后续文章中列出来。

3. 在对每种类型的神经网络都使用步骤2中的过程迭代学习了一遍后,再学习一遍斯坦福的课程。这次你就可以 
   真正地理解所有的共识,并将它们关联起来,捕捉到贯穿在整套课程中的“数学流”

迭代过程(1-2-2-2-2.....-3)可以根据你个人的情况重复很多次,在每次迭代过程中你可以略过一个或几个话题,并专注于一个或多个你更感兴趣的或者你还不太清楚的话题上。

在本文的每个部分中,我都会放一些你初次接触时学习的内容,同时也会放一些在之后的重复学习过程中,你需要进一步学习的内容(在你经过了步骤3之后)。

斯坦福的课程视频以及ppt可以在这里找到。中文版的在这里MIT的课程也可以作为替代,两门课内容是差不多的。两门课程可以都学习一下,然后做个对比,对于学习的东西会有更多的理解。

这是我在每部分中提到的


为什么选择 TensorFlow?

TensorFlow 由 Google Brain 创建,是一个用于数学计算和大规模机器学习的开源库。TensorFlow 集合了一系列的机器学习和深度学习(神经网络)模型和算法。它使用 Python 作为前端 API 语言以在框架中构建应用程序,使用C++语言高性能地执行这些应用。TensorFlow 是大多数行业规模公司实现机器学习算法的标准,它是为大规模数据而构建的,具有很多非常酷的特性,可以在多个GPU或硬件设施上并行训练模型。

安装并使用 TensorFlow

如果你已经安装了Python环境,那么要安装TensorFlow只需要在Python安装路径下打开 Ternimal 并运行如下命令:

python pip install tensorflow

第一个推荐给你阅读的是这个,第二件要做的事情是从 Google Education 网站上直接读 Introduction to TensorFlow,再次,一些理论概念可能不太清楚,但是只要集中于理解 TensorFlow 库及其处理流程是如何构建的即可。这是后者的一份很好的简要说明另外一个来自于谷歌的初学者指南。这个是关于 TensorFlow 2.0 更新的。这些 1 和 2 很好地解释了掌握 TensorFlow 过程中最难的部分。强烈推荐。

现在你对 TensorFlow 这一工具应该已经熟悉的差不多了,是时候知道如何使用它来构建大规模神经网络了。

编者按:Keras 提供了 TensorFlow 更上层的接口,如果读者不想了解TensorFlow 的细节,只需要模块化,那么Keras 是初学者不错的选择。Keras 中文参考教程

ANN - Artificial Neural Networks (人工神经网络)

第一遍学习(有序的):

  • 这个视频
  • 这个是你的“圣经”,完全理解它
  • 这个是一颗宝石,从作者那里直接阅读
  • 这个是一个语速非常快的人从零开始实现人工神经网络,非常有助于理解怎样使用Python实现神经网络核心。你可想象为,每个现有的框架只是这个概念库的一个巨大扩展
  • 是一个逐步的基于微积分的 backpropagation 反向传播的例子。

第二遍学习:

Tips 和 最佳实践:12345678

CNN - Convolutional Neural Networks

第一遍学习(有序的):

  • 这个是一个参考
  • 这个是一个很棒的深度解释
  • 这个是另一个很好的解释
  • 这个是一个来自于 Google 的 CNN 教程
  • 这个是一个具有交互性的demo

第二遍学习:

Tips 和 最佳实践:12345678

RNN - Recurrent Neural Networks

第一遍学习(有序的):

第二遍学习:

Tips 和 最佳实践:1234567

训练神经网络:最佳实践

第一遍学习(有序的):强烈推荐这个来自于斯坦福的网页作为参考,并且浏览模块 1 和 2。同时也列举了在实际训练神经网络过程中会碰到的常见话题如下。

  • 过拟合 VS 欠拟合:12345
  • 梯度消失/爆炸:12345
  • 迁移学习(Transfer Learning):12345
  • 更快的优化器:1234
  • 通过引入正则化避免过拟合:1234

第二遍学习:

自编码 AutoEncoders

第一遍学习(有序的):

第二遍学习:

Tips 和 最佳实践:12345

强化学习 Reinforcement Learning

第一遍学习(有序的):

第二遍学习:

Tips 和 最佳实践:12

实用推荐

在过去的两年中,我收集了大量的文章、web apps、reddit 订阅、最佳实践、项目和代码仓库,我想和你分享这些知识,所以按照类型将这些资源整理如下:

机器学习项目

工具

Youtube 频道

博客

值得一看的网站

值得订阅的 Subreddits

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值