什么是深度学习?-程序员宅基地

技术标签: 量化投资之强化学习  深度学习  人工智能  

什么是深度学习?

一、什么是深度学习

深度学习没有标准定义,但总的来说,深度学习是机器学习(ML)的一种,主要可以看作是人工神经网络(ANNs)的高级模型。这些技术被用作实现人工智能 (AI) 的工具。
事实上,深度学习从 1950 年代就开始研究。换句话说,深度学习并不是一个新概念,而是一项历史悠久的技术。各时期的主要特点如下:

1950年代出现的感知机可以说是人工神经网络的开端。此后,人工神经网络研究在 1960 年代得到了积极的开展。然而,在 1969 年,一本名为《感知器》的书出版了,它揭示了感知器的致命局限性并包含了证明。然后,在 1970 年代,我们进入了一个黑暗时代,人工神经网络被许多学者所忽视。

1980年代,人工神经网络研究再次开始受到关注。这可以归因于这样一个事实,即在 1986 年设计了一种通过应用误差反向传播来学习多层人工神经网络的方法。在这个时代,深度神经网络 (DNN)、循环神经网络 (RNN) 和卷积神经网络 (CNN) 得到了发展。

在 1990 年代,出现了高级形式的人工神经网络。1997 年发布了高级循环神经网络 LSTM,1998 年发布了高级卷积神经网络 LeNet-5。

2000 年代,人工神经网络以深度学习的名义开始受到关注。知名信息技术研究机构 Gartner 将深度学习列为十大战略技术。

2010 年代,谷歌的 Deep Mind 发布了著名的 AlphaGo。此后,深度学习在韩国受到了爆炸式的关注。

二、深度学习需要解决的问题

分类

找出数据的类别是一个问题。一个例子是根据长度、宽度、高度、车轮尺寸和发动机马力等特征将汽车分为以下类别之一的问题:轻型汽车、半中型汽车、中型汽车和大型汽车。

聚类

这是分组数据实例的问题。换句话说,它是一组具有相似特征的数据实例。例如,查看汽车的长度、宽度、高度、车轮尺寸和发动机马力等特征,并将相似的实例组合在一起。需要人工干预才能将分组结果确定为第 1 组的紧凑型汽车、第 2 组的半紧凑型汽车等。

回归

问题是找出不完整数据的价值。例如,在一个数据实例中,如果您知道汽车的宽度、高度、车轮尺寸和发动机马力等特征,但不知道长度,您可以预测由不完整数据组成的实例的长度特征。关于其他数据实例的值。。

每个问题都可以从机器学习的角度来解决,学习方法又可以分为监督学习、无监督学习和强化学习。

监督学习

它是一种训练标记数据的方法,主要处理分类和回归问题。它相对容易学习和有效,因为有标签意味着有正确的答案。但是,按数据标记通常很昂贵。成本可以是金钱、时间,或者在许多情况下两者兼而有之。训练数据海量,从上亿到上千万,甚至更多。有时人类不可能标记这些数据。

无监督学习

如何训练未标记的数据。主要用于对数据进行分组或分析数据的特征。由于无监督学习正在分析没有正确答案的数据,因此无需标记数据。这意味着准备数据的成本更低。然而,在许多情况下,需要人工干预来确定所分析集群的含义。

三、深度学习发展历程

最近备受关注的深度学习其实有着悠久的历史。本章介绍被认为是深度学习的深度神经网络,从感知机(可以说是深度学习的开端)到高级人工神经网络。

感知机

感知机是弗兰克·罗森布拉特在 1957 年设计的基本人工神经网络。感知机的结构如下图所示。
在这里插入图片描述
感知器有一个激活函数,如果输入值和偏差值乘以权重并求和,即如果“权重乘积之和”超过阈值,则输出 1,否则输出 0。这里要注意的一件事是输出值为 0 或 1。用公式表示:
在这里插入图片描述

如上所述,但再次使用公式中使用的符号。z 是加权乘积的总和,即输入乘以权重的总和。h(z)是激活函数z如果大于阈值则输出 0,否则输出 0。

X0是偏差值和X一从现在开始,每一个输入值都会被表示出来,让我们看看两者之间有什么区别。输入从外部进入感知机,但偏差是工程师(我们)在构建感知机时设置的值。产生偏差的原因是使阈值为零。设置阈值可能很困难或不可能,而零阈值也可以更容易地实现激活函数。如果bias设置为1,学习过程w0它近似于此(阈值×-1)。

激活函数

人工神经网络是多层感知器的稍微高级一点的模型。神经网络由输入层、隐藏层和输出层组成。
在人工神经网络中,隐藏层中有各种激活函数。
激活功能模拟活神经细胞的突触小泡,当电位超过一定值时,小泡爆裂,成为突触之间的连接,发挥作用。但是,根据激活函数,可能会转换要传递给下一个感知机的值。神经网络的效率取决于激活函数的类型,这与误差反向传播过程中的梯度损失问题有关。如果你有兴趣,请参考人工智能方面的书籍。

阶跃函数

阶跃函数是前面在感知器中讨论的激活函数。如果权重乘积之和小于 0,则感知器中的阶跃函数返回 0,如果大于 0,则返回 1。可以设置step函数返回的不同值。例如,以下公式中的阶跃函数返回 -1 或 1
在这里插入图片描述

relu 函数

relu 函数是一个激活函数,如果权重乘积之和大于 0,则返回原样,如果小于 0,则返回 0。这可以表示为如下公式:
在这里插入图片描述

线性函数

线性函数是具有相同输入和输出的线性函数。线性函数的形状实际上就是一条直线。
在这里插入图片描述

sigmoid函数

sigmoid 函数是一个激活函数,它返回调整为 0 和 1 之间值的权重乘积之和。sigmoid函数也称为逻辑函数,公式如下:
在这里插入图片描述
sigmoid函数的特点是,当权重乘积之和从0增加到正或负时,返回的值变化很快,绝对值在2.5以上时变化不大。你可以改变这个 S 形,但是深度学习通常会按原样使用它。
在这里插入图片描述

双曲正切函数

双曲正切(tanh 函数)的形状类似于 sigmoid 函数。双曲正切函数返回的值范围从-1到1,当加权乘积之和从0增加到正或负时,变化比sigmoid函数更快。双曲正切函数的公式如下:在这里插入图片描述
双曲正切函数曲线如下:
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/WSRY_GJP/article/details/123509771

智能推荐

春松客服部署-程序员宅基地

文章浏览阅读2k次。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fEWZETaq-1628470395423)(file:///C:\Users\student\AppData\Local\Temp\ksohtml25096\wps1.jpg)]如何在Linux服务器上安装https://www.cnblogs.com/kingsonfu/p/11576797.htmldocker1、首先得是64位的系统,内核版本大于3.10。用root用户操作内核版本查看指令uname -r2

logstash->es错误-程序员宅基地

文章浏览阅读2.5k次。[2018-08-16T23:41:32,721][WARN ][logstash.outputs.elasticsearch] Could not index event to Elasticsearch. {:status=>400, :action=>["index", {:_id=>"22c6c6e8398049f783fe0862c08f71bb", :_index=...

如何准确判断 WebView 加载完成_js如何判断webview加载完成-程序员宅基地

文章浏览阅读1w次。如何准确判断 WebView 加载完成原文地址:http://www.jianshu.com/p/897e2d82ee43正常情况下我们把处理网页加载完毕的代码放在- (void)webViewDidFinishLoad:(UIWebView *)webView 里。但 WebViewDidFinishLoad 时网页真的加载完了吗?官方文档并没有说明 WebViewDidFinish..._js如何判断webview加载完成

从源码编译安装msp430-gcc 4.7.2_msp430-gcc --version-程序员宅基地

文章浏览阅读1k次。文章目录Install essenstialRemove Latest TEXINFO package using Synaptics.remove old gcc-mspBuild GCC-MSPInstall essenstialsudo apt-get install patch ncurses-dev build-essential bison flex libgmp3-dev li..._msp430-gcc --version

黑马程序员__基础视频day6-程序员宅基地

文章浏览阅读352次。---------------------- android培训、java培训、期待与您交流! ---------------------- 看完了第六天的视频内容,感觉收获好多了,光是在本子上做的笔迹就有4页。越学越觉得java好强大,能实现的功能好多啊。由于最近学习任务挺重的所以能抽出来看视频的时间也没那么集中了,第六天的视频也是分两天才看完的。废话不多说,下面就总结下第六天视频的一

微信小程序报错 Now you can provide attr `wx:key` for a `wx:for` to improve performance._微信小程序now you can provide attr `wx:key` for a `wx:f-程序员宅基地

文章浏览阅读4k次,点赞5次,收藏3次。出现黄色警告Now you can provide attr wx:key for a wx:for to improve performance.不影响运行效果只需要在 wx:for 后面添加 wx:key=“key” 可消除警告。如下:<block wx:for="{{news}}" wx:key="key"></block>_微信小程序now you can provide attr `wx:key` for a `wx:for` to improve perfor

随便推点

环形链表(算法java)_java 实现环形链表-程序员宅基地

文章浏览阅读196次。环形链表(算法java)的两种解决方法_java 实现环形链表

docker部署Airflow(修改URL-path、更换postgres -->myslq数据库、LDAP登录)_airflow docker-程序员宅基地

文章浏览阅读5.7k次。Airflow什么是 Airflow?Airflow 的架构Airflow 解决哪些问题一、docker-compose 安装airflow(postgres)1、创建启动文件airflow-docker-compose.yml.1.1、添加挂载卷,需要修改airflow-docker-compose.yml的位置2、创建本地配置文件airflow.cfg2.1、如果想修改WEB URL地址,需要修改airflow.cfg中以下两个地方3、之后up -d直接启动即可web访问地址:二、存储数据库更换post_airflow docker

计算机毕业设计springboot高校教务管理系统532k79【附源码+数据库+部署+LW】-程序员宅基地

文章浏览阅读28次。选题背景:随着社会的发展和教育的普及,高校教务管理系统在现代高等教育中扮演着至关重要的角色。传统的手工管理方式已经无法满足高校日益增长的规模和复杂的管理需求。因此,开发一套高效、智能的教务管理系统成为了当今高校管理的迫切需求。选题意义:高校教务管理系统的开发具有重要的意义和价值。首先,它可以提高高校教务管理的效率和准确性。通过自动化处理学生选课、排课、考试安排等繁琐的事务,大大减轻了教务人员的工作负担,提高了工作效率。同时,系统可以实时更新学生信息和课程信息,减少了数据错误和冗余,保证了管理的准确性

javaint接收float_Java Integer转换double,float,int,long,string-程序员宅基地

文章浏览阅读132次。首页>基础教程>常用类>常用 Integer类Java Integer转换double,float,int,long,stringjava中Integer类可以很方便的转换成double,float,int,long,string等类型,都有固定的方法进行转换。方法double doubleValue() //以 double 类型返回该 Integer 的值。flo..._java integet接收float类型的参数

zabbix其他常用自定义监控项_proc.cpu.util-程序员宅基地

文章浏览阅读1w次。redis相关的自定义项vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/redis.confUserParameter=Redis.Status,/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 ping |grep -c PONGUserParameter=Redis_conn[*],/usr/local/redis/bin/redis-cli -h $1 -p $2 info | grep -w "_proc.cpu.util

RocketMQ关于 Broker 启动失败解决方案_option usebiasedlocking was deprecated-程序员宅基地

文章浏览阅读7k次。 如要在 CentOS 系统上安装 RocketMQ 服务,则可参考文章 :RocketMQ 安装详细说明 ============================================== 以下内容是 我自己在观看上面分享的文章,RocketMQ启动操作中,Broker启动失败,"RocketMQ 安装详细说明" 文章中讲的将 runserver.sh 的JVM内存..._option usebiasedlocking was deprecated