专题介绍在此!希望各位读者对这个专题的各篇博客定位有全局性质的把握~~
再次提醒:该系列专题不涉及网络细节讲解,仅限于 工程实现 与 框架学习。想更多了解该专题内容请点击上文专题介绍链接。
该专题中,文章命名方式为:
Pytorch框架应用系列 之 《项目名称》 《总章节-当前章节》:《当前章节项目名称》
1. 项目任务及环境
2. BP网络项目 内容概述
3. BP网络项目 子章节概述
4. BP网络项目 Pytorch 函数应用列表
5. BP网络项目 子任务列表
6. 专题及章节位置信息查询
使用Pytorch搭建自己的BP神经网络
Pytorch版本:1.3.0
Python 版本:3.6.4
膜拜始祖级别原文:Learning representations by back-propagating errors
鼎鼎大名的BP网络是应用最为广泛的神经网络之一,甚至可以说BP网络是一个具有时代意义的产物。这个网络背后所包含的 误差反向传播原理 依旧是目前为止各大深度学习网络模型训练所绕不开的必经之路。我们这个专题的第一个项目就以 搭建并测试一个简单的BP网络 作为开始,模型结构如下:
在本专题中,后续所有项目名字为BPNet的博客文章 均以上述模型结构为标准 进行模型搭建。项目 目标 是使用BP网络模拟下面的二次函数:
由于该二次函数没有专用的数据集,我们需要自己创建数据集和训练集。
该部分向大家简单说明BP项目的各章节进度安排以及各章节的内容简介。
《5-1章节》
该章节即为当前章节,主要为大家介绍该项目的总体情况。包括项目任务,项目目标,涉及到的框架函数知识,以及各章节的子任务等。
《5-2 ~ 5-4章节》
这几个章节主要为大家解释项目用到的基本函数和方法的使用规则。为了让大家更好的理解各项基本函数,在每个章节我们会推出针对该章节的子任务,并给出子任务的实现代码。
《5-5章节》
最后一个章节,博主会通过利用前面章节的相关知识,带领大家完成专题项目的搭建,包括BP网络结构搭建,BP网络的训练过程,数据集载入和调用过程,检测结果等,除此之外,会给出该系统任务的完整代码。
备注:
因为专题刚刚开始,如果后续讲解过程需要增加或者删改各个章节,我会在次实时更新,先暂定这些~
从模型中可以看出,前向计算主要涉及的计算过程如下:
除了 前向计算(前向:模型的正向计算,从数据输入到结果输出完全按照网络的设计结构一层一层向后传播,直到得出结果),训练过程中的 误差反向传播(反向:主要针对模型的参数调整,误差的反向计算,主要用在训练过程)也同样涉及一些函数的使用。在 测试阶段 需要我们自己制作一些数据集,依然需要一些函数。总结一下,共有以下内容:
备注:
因为专题刚刚开始,如果后续讲解过程中出现新入函数我会添加到当前章节,先暂定这些~
项目子任务的 目的 在于让各位同学料了解 各个函数或者方法在单独存在的条件下能完成什么样的功能。当然,个别函数或者方法在脱离框架的条件下能单独完成的任务不多,也有个别函数或者方法仅仅是为了在框架范围内对各个模块起到起承转合的作用而无其他实际意义,所以我们尽量挑一些较为实际的应用场景作为项目的子任务。BP项目的子任务列表如下:
备注:
因为专题刚刚开始,如果后续讲解过程中出现任务变更或者修改我会再次实时更新,先暂定这些~
目前章节位置信息:
BPNet 5-1:从零开始!你的第一个神经网络!(综述)
BPNet 5-2:全连接层到矩阵计算!FC近在眼前!
BPNet 5-3:训练准备!数据集建立与载入!
BPNet 5-4:反向传播?训练函数与优化器!(待更新)
BPNet 5-5:终于等到你!BP网络的系统工程!(待更新)
因为博主还是一名学生,所以更新章节的节奏可能会慢,毕竟要搬砖~~希望大家理解支持!!
(来自一名励志用“普通话”讲技术的菜狗子~)