李宏毅机器学习笔记-6 深度学习简介(Brief Introduction of Deep Learning)

本文是李宏毅机器学习笔记中的深度学习简介,介绍了深度学习的基本步骤,包括定义神经网络、评估函数好坏(如交叉熵损失函数)以及使用梯度下降法和反向传播优化模型。此外,还探讨了深度学习工具如TensorFlow和Keras在简化模型构建中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


Brief Introduction of Deep Learning - 深度学习简介

1. 前言

  • deep learning 在近些年非常热门,从2012年开始,深度学习的应用数目几乎是呈指数增长的。
  • 深度学习的发展史如下图:
    深度学习发展史

2. 深度学习的步骤

1526262040728

2.1 第一步: 定义一个神经网络

Neural

  • 神经网络由神经元组成,每个神经元如上图所示,每个神经元都有一个 bias 和一个 function ,每条输入的边都有一个 weight

  • 假设这个神经元的输入是 (a1,a2,a3) ( a 1 , a 2 , a 3 ) ,则最后的输出是

    sigma(a1w1+a1w2+a3w3+bias) s i g m a ( a 1 ∗ w 1 + a 1 ∗ w 2 + a 3 ∗ w 3 + b i a s )
    ,输入和输出都是一个 向量(vector)1526263126157

  • 神经网络有许多神经元组合而成,神经元之间的连接一般为全连接(fully connect),第一层是输入层(input layer),最后一层是输出层(output layer),中间的叫做隐层(hidden layers)前一层的输出作为后一层的输入。

    1526263459082

  • 深度学习中的所谓深度就是指神经网络有很多 hidden layers
    1526263658862

  • 神经网络的计算可以转换成矩阵计算,这么做的好处就是可以用 GPU 进行加速,可以大幅度提高计算效率。
    1526264304894

1526264321724

  • 例子: 手写数字辨识

    • 输入: 一张 16*16 的图片,即 256 维的向量

    • 输出: 一个 10 维的向量

    1526265120042

    • 如何决定神经网络的结构? 一般只能通过经验加尝试,还有你的直觉。真是玄学~

    还有一些方法能让机器自己去学习出神经网络的结构,但是还不成熟。也有一些其他的除全连接之外的结构,比如 卷积神经网络(Convolutional Neural Network)

2.2 定义一个函数的好坏(Loss Function)

  • 可以有很多种方法,其中有一种方法是计算 Cross Entropy,公式如下:

    1526266634744

    Total Loss:1526266704856

2.3 找出最好的函数

  • 没有其他的,就是用 梯度下降法(Gradient Descent),但是因为深度学习的函数太复杂,要直接计算微分的话,计算量实在太大了,所以一般会用一个叫做 反向传播(Backpropagation) 的算法来做,这个算法会在之后详细介绍。

3 一些废话

  • 再说一句,虽然我们是用 Backpropagation 来帮我们算微分,但是其实就连这个我们都不会自己去算,基本都是用一些工具来帮我们,比如 TensorFlow。到此结束了吗?没有的,人这么懒的生物,觉得 TensorFlow 也太复杂了,所以又写了一堆 API 去直接调用 TensorFlow ,这就是之后会讲到的 Keras,果然懒才能推动人类不断进步。
  • 由于上述原因,大部分搞机器学习就是调调包,跟叠积木一样,不知道这是好还是不好。我也只是个初学者,希望能在这条路上走得远一些。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值