Pytorch基础教程(1):人工智能与Pytorch简介
Pytorch基础教程(1) :人工智能与Pytorch简介
1.人工智能简介
人工智能是新一轮科技革命和产业变革的重要驱动力量,其发挥作用的广度和深度堪比历次工业革命。蒸汽革命成就了英国,电气和信息化革命成就了美国。如今人工智能的历史机遇正在全面展开,也将成就新的引领者。
下图显示了一部典型iPhone手机上安装的一些常用应用程序。苹果Siri等智能助理和智能聊天类应用,正试图颠覆你和手机交流的根本方式;新闻头条等热门新闻应用依赖于人工智能技术向你推送最适合你的新闻内容;美图秀秀等利用人工智能技术自动对照片进行美化;在人工智能的驱动下,谷歌、百度等搜索引擎早已提升到了智能问答、智能助理、智能搜索的新层次;以谷歌翻译为代表的机器翻译技术正在深度学习的帮助下迅速发展;使用滴滴出行时,人工智能算法不断地帮助重新定义智慧出行、智慧交通和智慧城市;使用手机购物时,淘宝等电子商务网站使用人工智能技术为你推荐最适合你的商品,而先进的仓储机器人、物流机器人和物流无人机正帮助电子商务企业高效、安全地分发货物…
人工智能是一个融合了多种学科的交叉学科,加上其最近几年的高速发展,内涵和外延也在不断地变化,新兴的子领域不断涌现。如下图所示,较为公认权威地将人工智能子领域分为以机器学习、自然语言处理、知识工程、信息检索与推荐、计算机视觉、语音识别和机器人等为核心的七个人工智能关键技术,以及人机交互、数据挖掘、芯片技术、经典AI、数据库、计算机图形、多媒体、可视化、安全与隐私、计算机网络、计算机系统、计算理论和物联网等十三个人工智能外延技术。
从 1956 年“人工智能” 概念在达特茅斯会议上首次被提出至今,人工智能发展已经历经 60 余年, 经历了三次发展浪潮。 当前全球人工智能正处于第三次发展浪潮之中。
- 第一次浪潮(1956-1974年): 1956年达特茅斯会议上,“人工智能”的概念提出,同时出现了最初的成就和最早的一批研究者,被广泛认为是AI诞生的标志,随之掀起了人工智能的第一次发展浪潮。 该时期的核心是让机器具备逻辑推理能力, 开发出计算机可以解决代数应用题、证明几何定理、学习和使用英语的程序, 并且研发出第一款感知神经网络软件和聊天软件。
- 第二次浪潮(1980-1987年):这一时期内,解决特定领域问题的“专家系统” AI 程序开始为全世界的公司所采纳, AI 变得实用起来,知识库系统和知识工程成为了 80 年代 AI研究的主要方向。 Hopfield 神经网络和反向传播(BP)算法被提出。
- 第三次浪潮(1993-2011年):这一时期,计算性能上的基础性障碍已被逐渐克服,里程碑事件有 1997 年的深蓝战胜国际象棋世界冠军、 2016 年和 2017 年的 AlphaGo 击败围棋职业选手等。同时,“智能代理”范式被广泛接受, AI 技术发展超越了研究人类智能的范畴; AI 与数学、经济学等其他学科展开更高层次的合作。2006年以来, 深度学习理论的突破更是带动了人工智能第三次浪潮。这一阶段互联网、云计算、大数据、芯片等新兴技术为人工智能各项技术的发展提供了充足的数据支持和算力支撑,以“人工智能+” 为代表的业务创新模式也随着人工智能技术和产业的发展日趋成熟,这将极大优化社会的生产力,并对现有的产业结构产生深远的影响。
关于人工智能理论阶段,存在两种划分方法。
- 第一种划分方法是运算智能、感知智能和认知智能三个阶段。运算智能,即快速计算和记忆存储能力;感知智能,即视觉、听觉、触觉等感知能力;认知智能就是具有推理、可解释性的能力,也是人工智能的高级阶段。 可见,发展第三代人工智能,需要依靠知识、数据、算法和算力四个要素,其中的关键问题是算法。
- 第二种划分方法是感知智能、认知智能和决策智能三个阶段。 为了提高机器决策的准确度,需要加强复杂问题下,提升人机信任度,增强人类与智能系统交互协作智能的研究,即决策智能 。
- 人工智能的发展经历了表示计算到感知智能两个阶段,下一个阶段的核心是认知。 以上两种划分法对此存在共识,即目前发展处于第三代人工智能。
2.PyTorch简介
- PyTorch是一个基于Torch的Python开源机器学习库,用于自然语言处理等应用程序。它主要由Facebookd的人工智能小组开发,不仅能够 实现强大的GPU加速,同时还支持动态神经网络,这一点是现在很多主流框架如TensorFlow都不支持的。
- PyTorch提供了两个高级功能:
- 具有强大的GPU加速的张量计算(如Numpy)
- 包含自动求导系统的深度神经网络
- 2017年1月,FAIR(Facebook AI Research)发布PyTorch。
- PyTorch是在Torch基础上用python语言重新打造的一款深度学习框架。
- Torch是采用Lua语言为接口的机器学习框架,但因Lua语言较为小众,导致Torch知名度不高。
- Pytorch有如下优点:
- 上手快:掌握numpy和基本深度学习概念即可上手;
- 代码简洁灵活:用nn.module封装使网络搭建更方便;基于动态图机制,更灵活;
- Debug方便:调试PyTorch就像调试Python代码一样简单;
- 文档规范:https://pytorch.org/docs/ 可查各版本文档;
- 资源多:arXiv中的新算法大多有PyTorch实现;
- 开发者多:Github上贡献者已超过1100+;
- 背靠大树:Facebook维护开发;
- … …
- 当然,现今任何一个深度学习框架都有其缺点,PyTorch也不例外,对比TensorFlow,其全面性处于劣势,目前PyTorch还不支持快速傅里叶、沿维翻转张量和检查无穷与非数值张量;针对移动端、嵌入式部署以及高性能服务器端的部署其性能表现有待提升;其次因为这个框架较新,使得他的社区没有那么强大,在文档方面其C库大多数没有文档。
Pytorch基础教程(1):人工智能与Pytorch简介相关推荐
- 【深度学习】深度学习之Pytorch基础教程!
作者:李祖贤,Datawhale高校群成员,深圳大学 随着深度学习的发展,深度学习框架开始大量的出现.尤其是近两年,Google.Facebook.Microsoft等巨头都围绕深度学习重点投资了一系 ...
- 深度学习之Pytorch基础教程!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:李祖贤,Datawhale高校群成员,深圳大学 随着深度学习的发展 ...
- Pytorch ——基础指北_叁 [Pytorch API 构建基础模型]
Pytorch --基础指北_叁 系列文章目录 Pytorch --基础指北_零 Pytorch --基础指北_壹 Pytorch --基础指北_贰 Pytorch --基础指北_叁 文章目录 Pyt ...
- 【Pytorch基础教程32】基于transformer的情感分类
note: 常用的BERT模型其实就是transformer模型的编码器部分,用户为下游任务生成一段话的文本表示.BERT是一个无监督学习的过程,可通过MLM和NSP两种预训练任务实现无监督训练的过程 ...
- Python基础教程(一):简介、环境搭建、中文编码
Python 基础教程 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年. 像P ...
- 【Pytorch基础教程33】算法模型部署(MLFlow/ONNX/tf serving)
内容概况 服务器上训练好模型后,需要将模型部署到线上,接受请求.完成推理并且返回结果. 保存模型结构和参数最简单的是torch.save保存为checkpoint,但一般用于训练时记录过程,训练中断可 ...
- PyTorch基础教程学习笔记(八):训练一个分类器
数据应该怎么办呢? 通常来说,当必须处理图像.文本.音频或视频数据时,可以使用python标准库将数据加载到numpy数组里.然后将这个数组转化成torch.*Tensor. 对于图片,有Pillow ...
- 【Pytorch基础教程36】基于Ernie预训练模型和Bert的新闻分类
文章目录 一.新闻分类任务 1.1 中文数据集 1.2 数据特点 1.3 跑起代码 二. 预训练语言模型ERNIE 2.1 ERNIE模型结构 2.2 bert模型结构 三.项目代码 1. bert模 ...
- 【PyTorch基础教程9】优化器optimizer和训练过程
学习总结 (1)每个优化器都是一个类,一定要进行实例化才能使用,比如: class Net(nn.Moddule):··· net = Net() optim = torch.optim.SGD(ne ...
最新文章
- 注意 ExecuteNonQuery() 返回值
- npm切换到淘宝镜像
- Eclipse配置Android开发环境
- 操作系统——MiniDos
- java_basic_review(5)java反射荔枝
- HTML的图片标签image的图片地址
- it行业如何应对领导_什么是IT文化? 今天的领导者需要知道
- 操作系统之进程和线程
- 庖丁解Puppet之操作记实
- Android FlashLight教程
- 梦断A股:证监会发现了小米的违规之处
- 一个有意思的VMP破解 旺旺吧上网经营管理系统
- linux ps auxf,ps -aux命令详解
- 路由器450m和1200m有什么区别
- UE4之材质球UV缩放、偏移及旋转
- 看不见的竞争 带宽优化
- Python入门总结-默单词程序
- 向日葵连接linux无桌面,向日葵控控远程时无画面显示可能的原因及解决办法
- php引擎,PHP撮合引擎
- iPad横版开发时,宽高是反的
热门文章
- 源码阅读|怒肝了9道 HashMap经典面试题,需要的快速来取(不包邮哦)
- java还原混淆代码,android混淆 android如何将混淆代码还原?
- 格鲁夫给经理人的第一课
- PostgreSQL 时序数据案例 - 时间流逝, 自动压缩, 同比\环比
- 我们分析了金庸小说中出现的1367个人物名字,发现了一些相当惊人的事情
- 美术资源检测 — 让你的网格无可挑剔
- Mac笔记本外接显示器竖屏设置
- 【漏洞复现】CVE-2020-0796永恒之黑漏洞复现
- 【开源教程13】疯壳·开源编队无人机-SPI(六轴传感器数据获取)
- ZooKeeper源码分析之完整网络通信流程(一)