《TensorFlow技术解析与实战》——1.2 什么是深度学习

简介: 本节书摘来自异步社区《TensorFlow技术解析与实战》一书中的第1章,第1.2节,作者李嘉璇,更多章节内容可以访问云栖社区“异步社区”公众号查看 第1章 人工智能概述 TensorFlow技术解析与实战 有人说,人工智能在世界范围的流行,是因为那盘围棋。
本节书摘来自异步社区《TensorFlow技术解析与实战》一书中的第1章,第1.2节,作者李嘉璇,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.2 什么是深度学习

深度学习,顾名思义,需要从“深度”和“学习”两方面来谈。

1.深度

深度学习的前身是人工神经网络(artificial neural network,ANN),它的基本特点就是试图模仿人脑的神经元之间传递和处理信息的模式。神经网络这个词本身可以指生物神经网络和人工神经网络。在机器学习中,我们说的神经网络一般就是指人工神经网络。

图1-3给出的是一个最基本的人工神经网络的3层模型。

图1-3

人工神经网络由各个层组成,输入层(input layer)输入训练数据,在输出层(output layer)输出计算结果,中间有1个或多个隐藏层(hidden layer),使输入数据向前传播到输出层。“深度”一词没有具体的特指,一般就是要求隐藏层很多(一般指5层、10层、几百层甚至几千层)。

人工神经网络的构想源自对人类大脑的理解——神经元的彼此联系。二者也有不同之处,人类大脑的神经元是按照特定的物理距离连接的,而人工神经网络有独立的层和连接,还有数据传播方向。

例如,我们拿一张图片,对它做一些预处理,如图像居中、灰度调整、梯度锐化、去除噪声、倾斜度调整等,就可以输入到神经网络的第一层。然后,第一层会自己提取这个图像的特征,把有用的特征向下传递,直到最后一层,然后输出结果。这就是一次前向传播(forword propagation)。

最后一层的输出要给出一个结论,例如,在分类问题中,要告诉我们到底输入的图像是哪个类别,一般它会给出一个“概率向量”。如图1-4所示,列出了这只猫所属品种的前5个概率值。

图1-4

人工神经网络的每一层由大量的节点(神经元)组成,层与层之间有大量连接,但是层内部的神经元一般相互独立。深度学习的目的就是要利用已知的数据学习一套模型,使系统在遇见未知的数据时也能够做出预测。这个过程需要神经元具备以下两个特性。

(1)激活函数(activation function):这个函数一般是非线性函数,也就是每个神经元通过这个函数将原有的来自其他神经元的输入做一个非线性变化,输出给下一层神经元。激活函数实现的非线性能力是前向传播(forword propagation)很重要的一部分。

(2)成本函数(cost function):用来定量评估在特定输入值下,计算出来的输出结果距离这个输入值的真实值有多远,然后不断调整每一层的权重参数,使最后的损失值最小。这就是完成了一次反向传播(backword propagation)。损失值越小,结果就越可靠。

神经网络算法的核心就是计算、连接、评估、纠错和训练,而深度学习的深度就在于通过不断增加中间隐藏层数和神经元数量,让神经网络变得又深又宽,让系统运行大量数据,训练它。

2.学习

什么是“学习”?有一些成语可以概括:举一反三、闻一知十、触类旁通、问牛知马、融会贯通等。计算机的学习和人类的学习类似,我们平时大量做题(训练数据),不断地经过阶段性考试(验证数据)的检验,用这些知识和解题方法(模型)最终走向最终(测试数据)的考场。

最简单也最普遍的一类机器学习算法就是分类(classification)。对于分类,输入的训练数据有特征(feature),有标记(label),在学习中就是找出特征和标记间的映射关系(mapping),通过标记来不断纠正学习中的偏差,使学习的预测率不断提高。这种训练数据都有标记的学习,称为有监督学习(supervised learning)。

无监督学习(unsupervised learning)则看起来非常困难。无监督学习的目的是让计算机自己去学习怎样做一些事情。因此,所有数据只有特征而没有标记。

无监督学习一般有两种思路:一是在训练时不为其指定明确的分类,但是这些数据会呈现出聚群的结构,彼此相似的类型会聚集在一起。计算机通过把这些没有标记的数据分成一个个组合,就是聚类(clustering);二是在成功时采用某种形式的激励制度,即强化学习(reinforcement learning,RL)。对强化学习来说,它虽然没有标记,但有一个延迟奖赏与训练相关,通过学习过程中的激励函数获得某种从状态到行动的映射。强化学习一般用在游戏、下棋(如前面提到的AlphaGo)等需要连续决策的领域。(6.7.1节会讲解强化学习的应用。)

有人可能会想,难道就只有有监督学习和无监督学习这两种非黑即白的关系吗?二者的中间地带就是半监督学习(semi-supervised learning)。对于半监督学习,其训练数据一部分有标记,另一部分没有标记,而没标记数据的数量常常极大于有标记数据的数量(这也符合现实,大部分数据没有标记,标记数据的成本很大)。它的基本规律是:数据的分布必然不是完全随机的,通过结合有标记数据的局部特征,以及大量没标记数据的整体分布,可以得到比较好的分类结果。

因此,“学习”家族的整体构造如图1-5所示[3]

图1-5

关于有监督学习和无监督学习在实战中的应用,会在本书“实战篇”中介绍。

相关文章
|
2月前
|
机器学习/深度学习 PyTorch TensorFlow
TensorFlow与PyTorch深度对比分析:从基础原理到实战选择的完整指南
蒋星熠Jaxonic,深度学习探索者。本文深度对比TensorFlow与PyTorch架构、性能、生态及应用场景,剖析技术选型关键,助力开发者在二进制星河中驾驭AI未来。
704 13
|
2月前
|
人工智能 自然语言处理 TensorFlow
134_边缘推理:TensorFlow Lite - 优化移动端LLM部署技术详解与实战指南
在人工智能与移动计算深度融合的今天,将大语言模型(LLM)部署到移动端和边缘设备已成为行业发展的重要趋势。TensorFlow Lite作为专为移动和嵌入式设备优化的轻量级推理框架,为开发者提供了将复杂AI模型转换为高效、低功耗边缘计算解决方案的强大工具。随着移动设备硬件性能的不断提升和模型压缩技术的快速发展,2025年的移动端LLM部署已不再是遥远的愿景,而是正在成为现实的技术实践。
|
2月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
1063 55
|
4月前
|
机器学习/深度学习 存储 人工智能
深度解析大模型压缩技术:搞懂深度学习中的减枝、量化、知识蒸馏
本文系统解析深度学习模型压缩三大核心技术:剪枝、量化与知识蒸馏,详解如何实现模型缩小16倍、推理加速4倍。涵盖技术原理、工程实践与组合策略,助力AI模型高效部署至边缘设备。
1057 2
|
7月前
|
机器学习/深度学习 数据采集 JavaScript
用深度学习提升DOM解析——自动提取页面关键区块
本文介绍了一次二手车数据爬虫事故的解决过程,从传统XPath方案失效到结合深度学习语义提取的成功实践。面对懂车帝平台的前端异步渲染和复杂DOM结构,通过Playwright动态渲染、代理IP隐藏身份,以及BERT模型对HTML块级语义识别,实现了稳定高效的字段提取。此方法抗结构变化能力强,适用于复杂网页数据采集,如二手车、新闻等领域。架构演进从静态爬虫到动态爬虫再到语义解析,显著提升效率与稳定性。
295 13
用深度学习提升DOM解析——自动提取页面关键区块
|
9月前
|
机器学习/深度学习 自然语言处理 算法
PyTorch PINN实战:用深度学习求解微分方程
物理信息神经网络(PINN)是一种将深度学习与物理定律结合的创新方法,特别适用于微分方程求解。传统神经网络依赖大规模标记数据,而PINN通过将微分方程约束嵌入损失函数,显著提高数据效率。它能在流体动力学、量子力学等领域实现高效建模,弥补了传统数值方法在高维复杂问题上的不足。尽管计算成本较高且对超参数敏感,PINN仍展现出强大的泛化能力和鲁棒性,为科学计算提供了新路径。文章详细介绍了PINN的工作原理、技术优势及局限性,并通过Python代码演示了其在微分方程求解中的应用,验证了其与解析解的高度一致性。
3274 5
PyTorch PINN实战:用深度学习求解微分方程
|
9月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
578 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
10月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
1101 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
8月前
|
机器学习/深度学习 数据采集 存储
深度学习在DOM解析中的应用:自动识别页面关键内容区块
本文探讨了如何通过深度学习模型优化东方财富吧财经新闻爬虫的性能。针对网络请求、DOM解析与模型推理等瓶颈,采用代理复用、批量推理、多线程并发及模型量化等策略,将单页耗时从5秒优化至2秒,提升60%以上。代码示例涵盖代理配置、TFLite模型加载、批量预测及多线程抓取,确保高效稳定运行,为大规模数据采集提供参考。
233 0

推荐镜像

更多
  • DNS