深度学习笔记总结(1) 神经网络和深度学习(Neural Networks and Deep Learning)

简介: 针对深度学习基础部分,有必要恶补一些吴恩达的深度学习课程,其实晚上有很多总结和笔记,本系列文章是针对黄海广大佬整理的《深度学习课程笔记(V5.47)》的总结和自己的理解,以便加深印象和复习。

1 第一周 深度学习引言


1.1 深度学习为什么会兴起

  • 数据规模
    数据规模越来越大,远超过传统机器学习算法的学习能力。
  • 计算量
  • 算法的创新
    发展和提出了多样的神经网络,具有强大的计算机能力

    1.png
    image
  • 计算机硬件的发展
    比如GPU、TPU的出现


2 第二周 神经网络的编程基础


2.1 逻辑回归


下面是逻辑回归的输出函数:


2.png


2.2 损失函数


损失函数又叫做误差函数,用来衡量算法的运行情况,Loss function:𝐿(𝑦 , 𝑦).通过这个𝐿称为的损失函数,来衡量预测输出值和实际值有多接近。


逻辑回归用的损失函数为:



3.png

为什么用这个函数作为损失函数?


4.png


2.3 梯度下降算法


梯度下降算法就是为了通过  最小化代价函数(成本函数)J(w,b)来更新参数w和b,说白了就是原先的w和b会使函数更大,需要更新一下,使损失变小。



5.png


逻辑回归的代价函数(成本函数)𝐽(𝑤, 𝑏)是含有两个参数的:



6.png


3 第三周  浅层神经网络


3.1 激活函数


  • sigmoid

sigmoid激活函数曲线像一个字母"S",我们选择它作为激活函数的主要原因是sigmoid的值域为(0,1).因此,它特别适合用于我们必须将概率预测为输出的模型。由于任何事件发生的概率仅存在于0和1的范围之间,因此sigmoid是不错的选择。


softmax函数是一种更通用的逻辑激活函数,用于多类分类。


7.png

  • tanh


tanh看起来和sigmoid差不多。tanh 函数是 sigmoid 的向下平移和伸缩后的结果。对它进行了变形后,穿过了 (0,0)点,并且值域介于+1 和-1 之间,函数图像也是S形。

但是tanh效果总是优于 sigmoid 函数。因为函数值域在-1 和+1 的激活函数,其均值是更接近零均值的。在训练一个算法模型时,如果使用 tanh 函数代替 sigmoid 函数中心化数据,使得数据的平均值更接近 0 而不是 0.5.


8.png

tanh函数主要用于两类之间的分类任务。


重点:sigmoid 函数和 tanh 函数两者共同的缺点是,在𝑧特别大或者特别小的情况下,导数的 梯度或者函数的斜率会变得特别小,最后就会接近于 0,导致降低梯度下降的速度。


  • relu
    ReLU是目前使用最多的激活函数,它几乎用于所有卷积神经网络或深度学习。
    值域是[0,无穷]

9.png

  • leaky relu
    Leaky Relu。 当x是负值时,这个函数的值不是等于 0,而是轻微的倾斜,如图。 这个函数通常比 Relu 激活函数效果要好,尽管在实际中 Leaky ReLu 使用的并不多

    10.png
  • relu和leaky relu的优点: 第一,在𝑧的区间变动很大的情况下,激活函数的导数或者激活函数的斜率都会远大于0,在程序实现就是一个 if-else 语句,而 sigmoid 函数需要进行浮点四则运算,在实践中, 使用 ReLu 激活函数神经网络通常会比使用 sigmoid 或者 tanh 激活函数学习的更快。第二,sigmoid 和 tanh 函数的导数在正负饱和区的梯度都会接近于 0,这会造成梯度弥散,而 Relu 和 Leaky ReLu 函数大于 0 部分都为常熟,不会产生梯度弥散现象。(同时应该注 意到的是,Relu 进入负半区的时候,梯度为 0,神经元此时不会训练,产生所谓的稀疏性, 而 Leaky ReLu 不会有这问题)
  • 激活函数选择的经验:1 . 如果输出是 0、1 值(二分类问题),则输出层选择 sigmoid 函数,然后其它的所  有单 元都选择 Relu 函数。2. 这是很多激活函数的默认选择,如果在隐藏层上不确定使用哪个激活函数,那么通常会 使用 Relu 激活函数。有时,也会使用 tanh 激活函数,但 Relu 的一个优点是:当𝑧是负值的 时候,导数等于 0。
  • 常见激活函数比较

    11.png


3.2 为什么要用激活函数


如果你是用线性激活函数或者叫恒等激励函数,那么神经网络只是把输入线性组合再输 出。

如果你使用 线性激活函数或者没有使用一个激活函数,那么无论你的神经网络有多少层一直在做的只是 计算线性函数,所以不如直接去掉全部隐藏层。


4 第四周 深层神经网络


4.1 参数VS超参数


深度神经网络的超参数指:算法中的学习率(learning rate)、iterations(梯度下降法循环的数量)、L(隐藏层数目)、𝑛𝑙、choice of activation function(激活函数的选择)都需要我们自己来设置,这些数字实际上控制了最后的参数𝑊和𝑏的值,所以它们被称作超参数。

相关文章
|
机器学习/深度学习 人工智能 运维
网管不再抓头发:深度学习教你提前发现网络事故
网管不再抓头发:深度学习教你提前发现网络事故
303 2
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
754 5
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
|
10月前
|
机器学习/深度学习 存储 PyTorch
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
Neural ODE将神经网络与微分方程结合,用连续思维建模数据演化,突破传统离散层的限制,实现自适应深度与高效连续学习。
960 3
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
|
机器学习/深度学习 人工智能 算法
Wi-Fi老是卡?不如试试让“深度学习”来当网络管家!
Wi-Fi老是卡?不如试试让“深度学习”来当网络管家!
489 68
|
9月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
机器学习/深度学习 数据可视化 算法
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
神经常微分方程(Neural ODEs)是深度学习领域的创新模型,将神经网络的离散变换扩展为连续时间动力系统。本文基于Torchdyn库介绍Neural ODE的实现与训练方法,涵盖数据集构建、模型构建、基于PyTorch Lightning的训练及实验结果可视化等内容。Torchdyn支持多种数值求解算法和高级特性,适用于生成模型、时间序列分析等领域。
792 77
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
|
11月前
|
机器学习/深度学习 算法 数据库
基于GoogleNet深度学习网络和GEI步态能量提取的步态识别算法matlab仿真,数据库采用CASIA库
本项目基于GoogleNet深度学习网络与GEI步态能量图提取技术,实现高精度步态识别。采用CASI库训练模型,结合Inception模块多尺度特征提取与GEI图像能量整合,提升识别稳定性与准确率,适用于智能安防、身份验证等领域。
|
机器学习/深度学习 人工智能 运维
AI“捕风捉影”:深度学习如何让网络事件检测更智能?
AI“捕风捉影”:深度学习如何让网络事件检测更智能?
582 8
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
866 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
机器学习/深度学习 数据采集 算法
基于MobileNet深度学习网络的MQAM调制类型识别matlab仿真
本项目基于Matlab2022a实现MQAM调制类型识别,使用MobileNet深度学习网络。完整程序运行效果无水印,核心代码含详细中文注释和操作视频。MQAM调制在无线通信中至关重要,MobileNet以其轻量化、高效性适合资源受限环境。通过数据预处理、网络训练与优化,确保高识别准确率并降低计算复杂度,为频谱监测、信号解调等提供支持。

热门文章

最新文章