深度学习介绍及简单应用(代码片段)

jin-liang jin-liang     2023-01-05     462

关键词:

引言

  深度学习背后的主要原理是从大脑中汲取灵感。,这种观点产生了“神经网络”术语,大脑包含数十亿个神经元,它们之间有数万个连接。 在许多情况下,深度学习算法类似于大脑,因为大脑和深度学习模型都涉及大量的计算单元(神经元),这些单元在未激活时并不是活跃的,它们彼此交互时会变得智能化。

神经元

  神经网络的基本构建模块是人工神经元--模仿人类大脑神经元。 这些是强大的计算单元,具有加权输入信号并使用激活功能产生输出信号。 这些神经元分布在神经网络的几个层中。

技术分享图片

 

什么网络是如何工作的?

  深度学习由人工神经网络组成,这些网络以人脑中存在的类似网络为模型。 当数据通过这个人工网格时,每个层处理数据的一个方面,过滤异常值,找到合适的实体,并产生最终输出。

技术分享图片

  • 输入层(Input Layer):该层由神经元组成,它们不接收输入并将其传递给其他层。 输入层中的元素应等于数据集中的属性(即变量个数)。
  • 输出图层(Output Layer):输出图层是预测的特征,它主要取决于模型的类型。
  • 隐藏层(Hidden Layer):在输入和输出层之间,将存在基于模型类型的隐藏层。 隐藏层包含大量神经元。 隐藏层中的神经元将变换应用于输入。 随着网络的训练,权重得到更新,更具预测性。

 神经元的权重

  权重是指两个神经元之间连接的强度或幅度,如果您熟悉线性回归,则可以比较输入的权重,例如我们在回归方程中使用的系数。权重通常被初始化为较小的随机值,例如 在0到1之间。

前馈深度网络

  前馈监督神经网络是第一个也是最成功的学习算法。 它们也被称为深度网络,多层感知器(MLP)或简单的神经网络,并且显示出了具有单个隐藏层的连接体系结构。 

  网络处理输入变量,并向后传递,激活神经元,最终产生输出值。这被称为网络上的前向传递。

 技术分享图片

 

激活函数

  激活函数是加权输入与神经元输出的加和的映射。 它被称为激活或者传递函数,因为它控制激活神经元的初始值和输出信号的强度。 

表达式:

技术分享图片

常用的有:

技术分享图片

反向传播
  将网络的预测值与预期输出进行比较,并使用函数计算误差, 然后,该错误在整个网络内传播回来,一次一层,并根据它们对错误的贡献值更新权重。 这个聪明的数学运算称为反向传播算法。 对训练数据中的所有示例重复该过程。 为整个训练数据集更新网络的一轮称为纪元。 可以训练网络数十,数百或数千个时期。

 技术分享图片

成本函数和梯度下降
  成本函数是神经网络对其给定的训练输入和预期输出所做的“有多好”的度量。 它还可能取决于权重和偏差等属性。

  成本函数是单值的,而不是向量,因为它评估神经网络作为一个整体执行得有多好。 使用梯度下降优化算法,在每个时期之后递增地更新权重。

  成本函数:

技术分享图片

  通过在成本梯度的相反方向上采取步骤来计算权重更新的大小和方向。

技术分享图片

  其中Δw是包含每个权重系数w的权重更新的向量,其计算如下:

 技术分享图片

  我们计算梯度下降直到导数达到最小误差,并且每个步骤由斜率(梯度)的陡度确定。

 技术分享图片

多层感知器(前向传播)
  这类网络由多层神经元组成,通常以前馈方式互连(向前移动)。一层中的每个神经元具有与后续层的神经元的直接连接。在许多应用中,这些网络的单元应用sigmoid或ReLU作为激活功能。

  现在考虑一个问题,找出交易数量,给定帐户和家庭成员作为输入。

  首先要解决这个问题,我们需要从创建前向传播神经网络开始。我们的输入图层将是家庭成员和帐户的数量,隐藏图层的数量是一个,输出图层将是交易数量。

给定权重,如图所示,从输入层到隐藏层,其中家庭成员2的数量和账户数量3作为输入。

  现在,将通过以下步骤使用前向传播来计算隐藏层(i,j)和输出层(k)的值。

处理过程

  1. 乘法 - 添加过程。
  2. 点积(输入*权重)。
  3. 一次一个数据点的前向传播。
  4. 输出是该数据点的预测。

技术分享图片

  $i$的值将根据输入值和与所连接的神经元相对应的权重来计算。

  $i = (2 * 1) + (3 * 1)$

  → i = 5

  类似的,

  $j = (2 * -1) + (3 * 1)$

  → j = 1

  $K = (5 * 2) + (1 * -1)$

  → k = 9

技术分享图片

python 实现

  为了使神经网络达到最大预测能力,我们需要为隐藏层应用激活函数。它用于捕获非线性。 我们将它们应用于输入层,隐藏层以及值上的某些方程式。

 

这里我们使用ReLU激活函数。

技术分享图片

import numpy as np

def relu(input):
    # Rectified Linear Activation
    output = max(input, 0)
    return(output)

print("Enter the two values for input layers")


a = int(input())


b = int(input())


input_data = np.array([a, b])

weights = 
    node_0: np.array([1, 1]),
    node_1: np.array([-1, 1]),
    output_node: np.array([2, -1])


node_0_input = (input_data * weights[node_0]).sum()
node_0_output = relu(node_0_input)

node_1_input = (input_data * weights[node_1]).sum()
node_1_output = relu(node_1_input)

hidden_layer_outputs = np.array([node_0_output, node_1_output])

model_output = (hidden_layer_outputs * weights[output_node]).sum()

print(model_output)

 

 输出:

Enter the two values for input layers
2
3
9

 

 

 

 

 







python应用实战案例-pythongeopandas包详解(附大量案例及代码)(代码片段)

...智能&算法研究类精品专栏,喜欢的小伙伴自行下载。深度学习100例全系列详细教程 深度学习算法原理介绍及应用案例tensorflow从入门到精通100讲 深度学习框架TensorFlow的应用案例手把手教你ML机器学习算法源码全解析&nb... 查看详情

深度学习框架keras介绍及实战(代码片段)

Keras是一个用Python编写的高级神经网络API,它能够以TensorFlow,CNTK,或者Theano作为后端运行。Keras的开发重点是支持快速的实验。能够以最小的时延把你的想法转换为实验结果,是做好研究的关键。本文以Kaggle上的项目:IMDB影评情感... 查看详情

深度学习前沿应用图像风格迁移(代码片段)

【深度学习前沿应用】图像风格迁移@TOC前言什么是图像风格迁移?图像风格迁移是指利用算法学习著名画作的风格,然后再把这种风格应用到另一张图片上的技术。风格迁移的两个要素是内容与风格。我们希望达成的效果是,... 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day4基于深度学习的图像分类(image_classification)(代码片段)

基于深度学习的图像分类1.图像分类任务2.常用数据集及模型介绍2.1发展简介2.2模型介绍3.基于深度学习模型逻辑3.1基本算法过程3.2多组卷积+激活+池化效果4.模型及代码分析4.1AlexNet(2012)4.2VGGNets(2014)4.3Res... 查看详情

深度学习框架-tensorflow(代码片段)

...操作知道tf.keras中的相关模块及常用方法 1.1TensorFlow介绍深度学习框架TensorFlow一经发布,就受到了广泛的关注,并在计算机视觉、音频处理、推荐系统和自然语言处理等场景下都被大面积推广使用,现在已发布2.3.0版... 查看详情

深度学习和计算机视觉(cv)介绍(代码片段)

目录1深度学习概述1.1什么是深度学习1.2发展历史2计算机视觉(CV)2.1计算机视觉定义2.2常见任务2.3应用场景2.3.1人脸识别2.3.2视频监控2.3.3图片识别分析2.3.4辅助驾驶2.4发展历史1深度学习概述1.1什么是深度学习在介绍深度... 查看详情

006-深度学习与nlp简单应用(代码片段)

 Auto-Encoder如果原始图片输入后经过神经网络压缩成中间状态(编码过程Encoder),再由中间状态解码出的图片与原始输入差别很小(D解码过程ecoder),那么这个中间状态的东西,就可以用来表示原始的输入。原先打算用AE来... 查看详情

规则引擎easyrules介绍,应用及示例(代码片段)

...Java规则引擎,提供以下功能:轻量级框架和易于学习的API基于POJO的开发与注解的编程模型定义抽象的业务规则并轻松应用它们支持从简单规则创建组合规则的能力支持使用表达式语言(如MVEL和 查看详情

深度学习分类任务常用评估指标(代码片段)

摘要:这篇文章主要向大家介绍深度学习分类任务评价指标,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。本文分享自华为云社区《深度学习分类任务常用评估指标》,原文作者:lutianfei。这篇文... 查看详情

深度学习框架介绍(代码片段)

深度学习框架介绍1.常见深度学习框架对比2.TensorFlow的特点3.TensorFlow的安装4.Tenssorlfow使用技巧1.常见深度学习框架对比tensorflow的github:2.TensorFlow的特点官网:https://www.tensorflow.org/语言多样(LanguageOptions)TensorFlo 查看详情

深度优先及广度优先在unity中的应用(代码片段)

说明:简单总结一下深度优先算法和广度优先算法在Unity中最直观和最多见的使用。这里我所举的例子是应用到Unity中3D人物的全部骨骼关键的遍历,推广开就是能够对全部物体的层级关系进行简单的遍历。。。算法数据结构中的... 查看详情

深度学习框架tensorflow快速入门(代码片段)

...nsorFlow的安装3张量及其操作4tf.keras介绍5总结1TensorFlow介绍深度学习框架TensorFlow一经发布,就受到了广泛的关注,并在计算机视觉、音频处理、推荐系统和自然语言处理等场景下都被大面积推广使用,接下来我们深入... 查看详情

黑马程序员深度学习框架tensorflow讲义(代码片段)

...其操作知道tf.keras中的相关模块及常用方法1.1TensorFlow介绍深度学习框架TensorFlow一经发布,就受到了广泛的关注,并在计算机视觉、音频处理、推荐系统和自然语言处理等场景下都被大面积推广使用,现在已发布2.8.0版... 查看详情

深度学习分布式训练collective通信操作及pytorch示例(代码片段)

相关博客【深度学习】【分布式训练】Collective通信操作及Pytorch示例【自然语言处理】【大模型】大语言模型BLOOM推理工具测试【自然语言处理】【大模型】GLM-130B:一个开源双语预训练语言模型【自然语言处理】【大模型】... 查看详情

pytorch深度学习框架介绍+简单回归问题(代码片段)

深度学习框架id="深度学习框架">深度学习框架pytorchpytorch使用C和C++的后端,是站在torch框架基础上开发pytorch和tensorflow的基本区别是使用了动态图和静态图的区别机器学习中的常见的静态图和动态图静态图必须事先定义好静态... 查看详情

嵌入式学深度学习:1pytorch框架搭建(代码片段)

嵌入式学深度学习:1、Pytorch框架搭建1、介绍2、Pytorch开发环境搭建2.1、查看GPU是否支持CUDA2.2、安装Miniconda2.3、使用Conda安装pytorch2.4、安装常用库3、简单使用验证1、介绍深度学习是机器学习的一种,如下图:目前深... 查看详情

中公的深度学习培训怎么样?有人了解吗?

深度学习作为实现机器学习的技术,拓展了人工智能领域范畴,主要应用于图像识别、语音识别、自然语言处理。推动市场从无人驾驶和机器人技术行业扩展到金融、医疗保健、零售和农业等非技术行业,因此掌握深度学习的AI... 查看详情

用python学习caffe0.前言及介绍(代码片段)

...够流行了(说到这里,我有点无力了,近年来深度学习发展实在是太快了,完全跟不上学习脚步了,刚刚Caffe有点了解后,马上就要跟不上时代了=_=||)。如果对于现在的我来说,我更愿意推... 查看详情