第一章 深度学习入门

简介: 第一章 深度学习入门 帮助您使用Python进行深度学习,包括如何使用Keras构建和运行深度学习模型。本书也包括深度学习的技巧、示例代码和技术内容。 深度学习的数学基础很精妙:但是一般用户不需要完全了解数学细节就可以抄起键盘开始编程。

第一章 深度学习入门

帮助您使用Python进行深度学习,包括如何使用Keras构建和运行深度学习模型。本书也包括深度学习的技巧、示例代码和技术内容。

深度学习的数学基础很精妙:但是一般用户不需要完全了解数学细节就可以抄起键盘开始编程。实用一点讲,深度学习并不复杂,带来的成效却很客观。教会你如何用深度学习:这就是本书的目的。

1.1 深度学习:如何错误入门

如果你去问大佬们深度学习如何入门,他们会怎么说?不外乎:

  • 线性代数是关键啊!
  • 你得了解传统神经网络才能干啊!
  • 概率论和统计学是基础的基础不是吗?
  • 你得先在机器学习的水里扑腾几年再来啊。
  • 不是计算机博士不要和我说话好吗!
  • 入门挺简单的:10年经验应该差不多也行有可能就够了吧。

总结一下:只有大神才能做深度学习。


1.2 使用Python进行深度学习

本书准备把传统的教学方式倒过来:直接教你怎么深度学习。如果你觉得这东西真厉害我要好好研究一下,再去研究理论细节。本书直接让你用深度学习写出能跑的东西。

我用了不少深度学习的库:我觉得最好的还是基于Python的Keras。Python是完整的成熟语言,可以直接用于商业项目的核心,这点R是比不上的。和Java比,Python有SciPy和scikit-learn这些专业级别的包,可以快速搭建平台。

Python的深度学习库有很多,最著名的是蒙特利尔大学的Theano(已死,有事烧纸)和Google的TensorFlow。这两个库都很简单,Keras都无缝支持。Keras把数值计算的部分封装掉,留下搭建神经网络和深度学习模型的重点API。

本书会带领你亲手构建神经网络和深度学习模型,告诉你如何在自己的项目中利用。废话少说,赶快开始:

1.3 本书结构

本书分3部分:

  • 课程:介绍某个神经网络的某个功能,以及如何使用Keras的API写出来
  • 项目:将课上的知识放在一起,写一个项目:这个项目可以作为模板
  • 示例:直接可以复制粘贴的代码!本书还附赠了很多代码,在Github上!
1.3.1 第一部分:课程和项目

每节课是独立的,推荐一次性完成,时长短则20分钟,长则数小时 - 如果你想仔细调参数。课程分4块:

  • 背景
  • 多层感知器
  • 高级多层感知器和Keras
  • 卷积神经网络
1.3.2 第二部分:背景知识

这部分我们介绍Theano、TensorFlow(TF)和Keras这3个库,以及如何在亚马逊的云服务(AWS)上用低廉的价格测试你的网络。分成4个部分:

  • Theano 入门
  • TensorFlow 入门
  • Keras 入门

这些是最重要的深度学习库。我们多介绍一点东西:

  • 项目:在云上部署GPU项目

到这里你应该准备好用Keras开发模型了。

1.3.3 第三部分:多层感知器

这部分我们介绍前馈神经网络,以及如何用Keras写出自己的网络。大体分段:

  • 多层感知器入门
  • 用Keras开发第一个神经网络
  • 测试神经网络模型性能
  • 用Scikit-Learn和Keras模型进行机器学习

这里有3个项目可以帮助你开发神经网络,以及为之后的网络打下模板:

  • 项目:多类分类
  • 项目:分类问题
  • 项目:回归问题

到这里你已经熟悉了Keras的基本操作。

1.3.4 第四部分:高级多层感知器

这部分我们进一步探索Keras的API,研究如何得到世界顶级的结果。内容包括:

  • 如何保存神经网络
  • 如何保存最好的网络
  • 如何边训练观察训练结果
  • 如何对付过拟合
  • 如何提高训练速度

到这里你已经可以使用Keras开发成熟的模型了。

1.3.5 第五部分:卷积神经网络(CNN)

这部分我们介绍一些计算机视觉和自然语言的问题,以及如何用Keras构建神经网络出色地解决问题。内容包括:

  • 卷积神经网络入门
  • 如何增强模型效果

写代码才能真正理解网络:这里我们用CNN解决如下问题:

  • 项目:手写字符识别
  • 项目:图像物体识别
  • 项目:影视评论分类

到这里你可以用CNN对付你遇到的实际问题了。

1.3.6 结论

这部分我们给你提供一些继续深造的资料。

1.3.7 示例

边学习边积累代码库:每个问题你都写了代码,供以后使用。

本书给你所有项目的代码,以及一些没有讲到的Keras代码。自己动手积累吧!

1.4 本书需求

1.4.1 Python和SciPy

你起码得会装Python和SciPy,本书默认你都配置好了。你可以在自己的机器上,或者虚拟机/Docker/云端配置好环境。参见第二章项目。

本书使用的软件和库:

  • Python 2或3:本书用版本2.7.11.
  • SciPy和NumPy:本书用SciPy 0.17.0和NumPy 1.11.0.
  • Matplotlib:本书用版本1.5.1
  • Pandas:本书用版本0.18.0
  • scikit-learn:本书用版本0.17.1。

版本不需要完全一致:但是希望安装的版本不要低于上面的要求。第二部分会带领你配置环境。

1.4.2 机器学习

你不需要专业背景,但是会用scikit-learn研究简单的机器学习很有帮助。交叉检验等基本概念了解一下。书后有参考资料:简单阅读一下。

1.4.3 深度学习

你不需要知道算法的数学理论,但是概念需要有所了解。本书有个神经网络和模型的入门,但是不会深度研究细节。术后有参考资料:希望你对神经网络有点概念。

注意:所有的例子都可以用CPU跑,GPU不是必备的,但是GPU可以显著加速运算。第5章会告诉你如何在云上配置GPU。

1.5 本书目标

希望你看完本书后有能力从数据集上用Python开发深度学习算法。包括:

  • 如何开发并测试深度学习模型
  • 如何使用高级技巧
  • 如何为图片和文本数据构建大模型
  • 如何扩大图片数据
  • 如何寻求帮助

现在可以开始了。你可以挑自己需要的主题阅读,也可以从头到尾走一遍流程。我推荐后者。

希望你亲手做每一个例子,将所思所想记录下来。我的邮箱是jason@MachineLearningMastery.com。本书希望你努力一下,尽快成为深度学习工程师。

1.6 本书不是什么

本书为开发者提供深度学习的入门教程,但是挂一漏万。本书不是:

  • 深度学习教科书:本书不深入神经网络的理论细节,请自行学习。
  • 算法书:我们不关注算法如何工作,请自行学习。
  • Python编程书:本书不深入讲解Python的用法,希望你已经会Python了。

如果需要深入了解某个主题,请看书后的帮助。

1.7 总结

此时此刻,深度学习的工具处于历史顶峰,神经网络和深度学习的发展从未如此之快,在无数领域出神入化。希望你玩的开心。

1.7.1 下一步

下一章我们讲解一下Theano、TensorFlow和你要用的Keras。

相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
相关文章
|
机器学习/深度学习 人工智能 PyTorch
PyTorch深度学习 ? 带你从入门到精通!!!
🌟 蒋星熠Jaxonic,深度学习探索者。三年深耕PyTorch,从基础到部署,分享模型构建、GPU加速、TorchScript优化及PyTorch 2.0新特性,助力AI开发者高效进阶。
PyTorch深度学习 ? 带你从入门到精通!!!
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
机器学习/深度学习 人工智能 算法
深度学习入门:理解神经网络与反向传播算法
【9月更文挑战第20天】本文将深入浅出地介绍深度学习中的基石—神经网络,以及背后的魔法—反向传播算法。我们将通过直观的例子和简单的数学公式,带你领略这一技术的魅力。无论你是编程新手,还是有一定基础的开发者,这篇文章都将为你打开深度学习的大门,让你对神经网络的工作原理有一个清晰的认识。
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
594 3
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)入门
【10月更文挑战第41天】在人工智能的璀璨星空下,卷积神经网络(CNN)如一颗耀眼的新星,照亮了图像处理和视觉识别的路径。本文将深入浅出地介绍CNN的基本概念、核心结构和工作原理,同时提供代码示例,带领初学者轻松步入这一神秘而又充满无限可能的领域。
|
机器学习/深度学习 人工智能 自然语言处理
软件工程师,入门下深度学习吧
软件工程师,入门下深度学习吧
386 9
|
机器学习/深度学习 人工智能 算法
深度学习中的卷积神经网络(CNN)入门与实践
【9月更文挑战第19天】在这篇文章中,我们将探索深度学习的一个重要分支——卷积神经网络(CNN)。从基础概念出发,逐步深入到CNN的工作原理和实际应用。文章旨在为初学者提供一个清晰的学习路径,并分享一些实用的编程技巧,帮助读者快速上手实践CNN项目。
|
机器学习/深度学习 人工智能 TensorFlow
深度学习入门:从理论到实践
【9月更文挑战第22天】本文将带你走进深度学习的世界,从基础的理论概念出发,逐步深入到实践应用。我们将探讨神经网络的工作原理,以及如何通过编程实现一个简单的深度学习模型。无论你是初学者还是有一定基础的学习者,都能在这篇文章中找到有价值的信息。让我们一起揭开深度学习的神秘面纱,探索这个充满无限可能的领域吧!
312 7
|
机器学习/深度学习 PyTorch 算法框架/工具
深度学习入门案例:运用神经网络实现价格分类
深度学习入门案例:运用神经网络实现价格分类
|
机器学习/深度学习 存储 自然语言处理
深度学习入门:循环神经网络------RNN概述,词嵌入层,循环网络层及案例实践!(万字详解!)
深度学习入门:循环神经网络------RNN概述,词嵌入层,循环网络层及案例实践!(万字详解!)
1227 1