深度学习入门笔记系列 ( 四 )

简介: 本系列将分为 8 篇 。今天是第四篇 。总是理论有些枯燥 ,今天来动手基于 TF 框架实现两个简单的案例 ,以小搏大熟悉一下整个过程 。整体来说 ,训练神经网络分为 3 个步骤 :

本系列将分为 8 篇 。今天是第四篇 。总是理论有些枯燥 ,今天来动手基于 TF 框架实现两个简单的案例 ,以小搏大熟悉一下整个过程 。整体来说 ,训练神经网络分为 3 个步骤 :

  1. 定义神经网络的结构和前向传播的输出结果
  2. 定义损失函数以及选择反向传播优化的算法
  3. 生成会话(tf.Session) 并在训练数据上反复运行反向传播优化算法


现以直线拟合和回归拟合两个简单案例来熟悉以上 3 个步骤 。

1.直线的拟合

比如我们现在要用 y = k * x + b (其中 k ,b为参数)通过多次的训练来拟合直线 y = 5 * x + 1 。

根据上述 3 个步骤 ,首先构造线性模型 y = k * x + b ,我们目的就是通过训练 ,使得参数 k ,b 去逼近真实值 5 ,1 。之后定义损失函数 ,这里我们用的是二次代价函数 ;选用梯度下降法进行优化 。最后在会话(tf.Session)中进行反复的优化 。具体代码和注释如下

69.jpg


运行结果如下 ,经过 100 轮的训练优化 ,参数的训练值已经很逼近真实值了 。

70.jpg


2.线性回归

回归问题和分类问题不太一样 ,分类是得到结果为 label ,表示类别 ,比如二分类问题等 ,是离散的 ,有限个类别 。回归则是连续的 ,具体看下面例子 。

本例中 ,我们用 y = x*x +noise 随机生成200个散点 ,用神经网络训练 ,拟合出较为理想的回归结果 。

同上述 3 个步骤 ,第一步是定义网络结构和基本信息 ,这部分代码造了一个 10 个节点的中间层 ,之后直接连接一个节点的输出 。输入散点则是利用 numpy 在区间(-0.5,0.5)间生成 200 个散点 ,并在输出中添加了 noise 信息 。具体如下。

71.jpg


这里选用的代价函数为二次代价函数 ,优化算法也是梯度下降法 。之后执行对应的训练 ,并将结果以绘图形式输出 。代码如下 :

72.jpg


运行该代码 ,得到的结果如下 。

73.jpg


本篇两个案例都比较简单 ,主要目的在于用两个简单实例熟悉神将网络训练的基本步骤 。最后 ,如果觉得这个系列不错 ,记得扫码关注噢 !

相关文章
|
2月前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
3月前
|
机器学习/深度学习 算法 测试技术
深度学习环境搭建笔记(二):mmdetection-CPU安装和训练
本文是关于如何搭建深度学习环境,特别是使用mmdetection进行CPU安装和训练的详细指南。包括安装Anaconda、创建虚拟环境、安装PyTorch、mmcv-full和mmdetection,以及测试环境和训练目标检测模型的步骤。还提供了数据集准备、检查和网络训练的详细说明。
209 5
深度学习环境搭建笔记(二):mmdetection-CPU安装和训练
|
3月前
|
机器学习/深度学习 数据可视化 计算机视觉
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
这篇文章详细介绍了如何通过可视化深度学习中每层特征层来理解网络的内部运作,并使用ResNet系列网络作为例子,展示了如何在训练过程中加入代码来绘制和保存特征图。
75 1
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
|
3月前
|
机器学习/深度学习 数据可视化 Windows
深度学习笔记(七):如何用Mxnet来将神经网络可视化
这篇文章介绍了如何使用Mxnet框架来实现神经网络的可视化,包括环境依赖的安装、具体的代码实现以及运行结果的展示。
65 0
|
1月前
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
90 3
|
2月前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)入门
【10月更文挑战第41天】在人工智能的璀璨星空下,卷积神经网络(CNN)如一颗耀眼的新星,照亮了图像处理和视觉识别的路径。本文将深入浅出地介绍CNN的基本概念、核心结构和工作原理,同时提供代码示例,带领初学者轻松步入这一神秘而又充满无限可能的领域。
|
3月前
|
机器学习/深度学习
深度学习笔记(十二):普通卷积、深度可分离卷积、空间可分离卷积代码
本文探讨了深度可分离卷积和空间可分离卷积,通过代码示例展示了它们在降低计算复杂性和提高效率方面的优势。
385 2
深度学习笔记(十二):普通卷积、深度可分离卷积、空间可分离卷积代码
|
3月前
|
机器学习/深度学习 并行计算 PyTorch
深度学习环境搭建笔记(一):detectron2安装过程
这篇博客文章详细介绍了在Windows环境下,使用CUDA 10.2配置深度学习环境,并安装detectron2库的步骤,包括安装Python、pycocotools、Torch和Torchvision、fvcore,以及对Detectron2和PyTorch代码的修改。
725 1
深度学习环境搭建笔记(一):detectron2安装过程
|
3月前
|
机器学习/深度学习 算法 PyTorch
深度学习笔记(十三):IOU、GIOU、DIOU、CIOU、EIOU、Focal EIOU、alpha IOU、SIOU、WIOU损失函数分析及Pytorch实现
这篇文章详细介绍了多种用于目标检测任务中的边界框回归损失函数,包括IOU、GIOU、DIOU、CIOU、EIOU、Focal EIOU、alpha IOU、SIOU和WIOU,并提供了它们的Pytorch实现代码。
520 1
深度学习笔记(十三):IOU、GIOU、DIOU、CIOU、EIOU、Focal EIOU、alpha IOU、SIOU、WIOU损失函数分析及Pytorch实现
|
3月前
|
机器学习/深度学习 自然语言处理 并行计算
深度学习笔记(十四):Transormer知识总结
关于深度学习中Transformer模型的知识总结,涵盖了Self-attention机制、QKV、Multi-head attention、位置编码和并行运算等关键概念,以及如何在PyTorch中实现Self-attention。
75 1