一名工程师对于深度学习的理解-神经网络基础ANN

原文链接

读书期间对于深度学习也有涉及,不过只是皮毛,在这个数据和算法的时代,也需要更加贴近算法。于是从一名工程师角度出发,希望通过几篇文章,将深度学习基础记录下来,同时也是对于自己学习的总结和积累。总体思路是ANN-CNN-DNN,中间想起来有什么忘记的,也会加番。

神经网络概述


这是一张典型的人工神经网络的图,图中的节点称为神经元,图共分为三层,第一层为输入层,第二层为隐藏层,第三层为输出层。输入层接受外部世界的输入,具像化为图像的像素值,实体的特征值等,输出层概率预测结果,具像化为该图像是人像,该实体为潜在商家。

神经元


一个神经元将多个输入及其权值统一为下层节点的一个输入。例如:

而神经元一般都使用sigmoid函数,至于为什么使用sigmoid函数,也是个很有探讨意义的问题,具体可以看这篇文章了解sigmoid的特性,http://www.tuicool.com/articles/uMraAb。


其中,w表示权重向量,x表示输入向量,b为该节点的阈值。
那么下面问题就是如何选择合适的权重和阈值,构建出来合适的网络。

构建合适的网络

网络结构往往决定了算法复杂度和模型可调度,输出层主要由向量决定,输出层主要由预测类型决定,主要问题就在中间层数和节点数的选择上,节点数和层数越多意味着模型可调节性越强,预测结果的粒度越细,但同时也意味着计算复杂度越高。经验中间层一般选1-2层,节点数作为可调参数。

选择合适权重和阈值

首先,定义损失函数,损失函数的意义在于对于训练集评价预测结果和真实结果之间的差异

该损失函数其实是预测结果与真实结果之间的方差
我们希望通过调整权重w和阈值b的值来使预测结果和真实结果之间的差更小。相当于在一个解空间中寻找最优解。解法有很多,如梯度下降法,拟牛顿法等。

梯度下降法


通过上述公式可以看出,对于损失函数的变化可以描述为损失在每个维度v上的变化值之和,用向量表示为

为了是损失更小而不是更大,损失的变化应该小于0,于是取

则,损失的下降可以表示为

反向传播

反向传播其实是对于当一次预测结束后,评估每个参数对于预测结果误差的贡献,并对其进行调整,调整方法可以通过损失函数对于权值的求导得到:

通过多次迭代,获得损失函数的极小值。步长决定了函数的收敛速度。
小结下:
人工神经网络就好像一个在陌生的城市迷路的孩子,每走一步都对该步进行评估,计算其到达目的地的可能性,并逐渐走到目的地。人工神经网络比较重要的有三部分:
-1. 结构:层级网络
-2. 求解方法:梯度下降
-3. 求解思想:反向传播

下集:一名工程师对于深度学习的理解-卷积神经网络CNN

原文链接

时间: 2024-10-13 18:50:58

一名工程师对于深度学习的理解-神经网络基础ANN的相关文章

从软件工程的角度写机器学习6——深度学习之卷积神经网络(CNN)实现

卷积神经网络(CNN)实现 背景 卷积神经网络广泛用于图像检测,它的实现原理与传统神经网络基本上是一样的,因此将普遍意义的神经网络和卷积神经网络的实现合成一篇. 神经网络实现思路 "扔掉神经元" 尽管所有教程在介绍神经网络时都会把一大堆神经元画出来,并且以输入节点--神经元--输出结点连线,但是,在编程实现时,基于神经元去编程是低效的.典型如这篇经典文章里面的代码: http://blog.csdn.net/zzwu/article/details/575125. 比较合适的方法是将神

深度学习深刻理解和应用--必看知识

1.深层学习为何要"Deep" 1.1 神经网络:从数学和物理两视角解释,见:https://zhuanlan.zhihu.com/p/22888385 1.2 网络加深的原因,见:https://zhuanlan.zhihu.com/p/24245040 1.3 <超智能体>作者讲述深层神经网络设计理念,见:https://v.douyu.com/show/j4xq3WDO3pRMLGNz,PPT下载 2.CNN(卷积神经网络)是什么? 2.1 关于卷积神经网络的讲解,恐

如何做一名合格的深度学习实习生

在校生往深度学习(计算机视觉)方向发展应该做哪些积累? 深度学习算法研发岗一般是分为两个方向:一,算法研发:二,不同平台,性能优化.必备技能: 数学:公式推导: 编程:C++,Python,达到leetcode中级水平: 常用算法,数据结构: 框架:opencv, tensorflow, caffe, pytorch: 项目积累,熟悉研究领域算法原理实现, top paper/study; debug 能力. 谨记:1. 看paper+复现+改进 2. 实现框架没有实现得功能 3. 看框架源码及

深度学习(一) 卷积神经网络CNN

Contents 图像数据集基础 全连接神经网络解决图片问题的弊端(前世) 卷积神经网络的今生 网络结构 卷积操作 池化操作 小结 图像数据集基础 数字图像划分为彩色图像.灰度图像.二值图像和索引图像几种.其中,像素是构成图像的基本单位,例如一张28×28像素的图片,即表示横向有28个像素点,纵向有28个像素点. 最常用的彩色图像和灰度图像: 彩色图像:每个像素由RGB三个分量来表示,即红绿蓝.每个分量介于(0,255).那么,对于一个28×28的彩色图像,便可以由三个表示RGB颜色分量的28×

深度学习:卷积神经网络(convolution neural network)

(一)卷积神经网络 卷积神经网络最早是由Lecun在1998年提出的. 卷积神经网络通畅使用的三个基本概念为: 1.局部视觉域: 2.权值共享: 3.池化操作. 在卷积神经网络中,局部接受域表明输入图像与隐藏神经元的连接方式.在图像处理操作中采用局部视觉域的原因是:图像中的像素并不是孤立存在的,每一个像素与它周围的像素都有着相互关联,而并不是与整幅图像的像素点相关,因此采用局部视觉接受域可以类似图像的此种特性. 另外,在图像数据中存在大量的冗余数据,因此在图像处理过程中需要对这些冗余数据进行处理

深度学习(卷积神经网络)一些问题总结(转)

涉及问题: 1.每个图如何卷积: (1)一个图如何变成几个? (2)卷积核如何选择? 2.节点之间如何连接? 3.S2-C3如何进行分配? 4.16-120全连接如何连接? 5.最后output输出什么形式? ①各个层解释: 我们先要明确一点:每个层有多个Feature Map,每个Feature Map通过一种卷积滤波器提取输入的一种特征,然后每个Feature Map有多个神经元. C1层是一个卷积层(为什么是卷积?卷积运算一个重要的特点就是,通过卷积运算,可以使原信号特征增强,并且降低噪音

神经网络和深度学习之——前馈神经网络吉林快三带红黑玩法

前面一章我们详细讲解了神经网络的组成吉林快三带红黑玩法 话仙源码论坛下载地址 QQ2952777280,工作原理,信号在网络中如何流动,以及如何求解每一个输入信号赋予的权重等计算过程:同时我们还构建了一个逻辑回归网模型来解决鸢尾花分类问题,很明显,这种网络很"浅",但它对于分类鸢尾花数据还是非常有效的,而且不仅仅是鸢尾花,对于有需要的其他二分类问题,该模型也能表现得很好.由于这种模型太"浅"了,我们一般称这种模型为bp网络,而不直接称为神经网络,有些人甚至觉得这种网

深度学习之前馈神经网络(前向传播和误差方向传播)

这篇文章主要整理三部分内容,一是常见的三种神经网络结构:前馈神经网络.反馈神经网络和图网络:二是整理前馈神经网络中正向传播.误差反向传播和梯度下降的原理:三是梯度消失和梯度爆炸问题的原因及解决思路. 一.神经网络结构 目前比较常用的神经网络结构有如下三种: 1.前馈神经网络 前馈神经网络中,把每个神经元按接收信息的先后分为不同的组,每一组可以看做是一个神经层.每一层中的神经元接收前一层神经元的输出,并输出到下一层神经元.整个网络中的信息是朝着一个方向传播的,没有反向的信息传播(和误差反向传播不是

吴恩达 DeepLearning.ai课程笔记(1-3)神经网络和深度学习 --- 浅层神经网络

以下为在Coursera上吴恩达老师的DeepLearning.ai课程项目中,第一部分<神经网络和深度学习>第二周课程部分关键点的笔记.笔记并不包含全部小视频课程的记录,如需学习笔记中舍弃的内容请至 Coursera 或者 网易云课堂.同时在阅读以下笔记之前,强烈建议先学习吴恩达老师的视频课程. 1. 二分类问题 对于二分类问题,大牛给出了一个小的Notation. 样本:  ,训练样本包含  个: 其中  ,表示样本 包含 个特征:  ,目标值属于0.1分类: 训练数据:  输入神经网络时