人工智能初识

人工智能

0、人工智能初识

  • 0.1:课前准备
  • 0.2:课程主要内容
  • 0.3:知识点
  • 0.4:TensorFlow的介绍
  • 0.5:课程需要用到的软件及其安装

1、人工智能、机器学习、深度学习的定义

  • 1.1:定义和分类
  • 1.2:过拟合问题
  • 1.3:RNN递归神经网络

2、TensorFlow的使用

  • 2.1:创建一个简单的helloword显示
  • 2.2:TensorFlow的基础模型
  • 2.3:可视化利器TensorBoard

0. 人工智能初识

目前人工智能越来越火,比如说AlphaGo打败了李世石、人工智能dota2打败了世界顶级的中单选手、马斯克的jarvis智能家居管家、各大汽车厂商布局无人驾驶汽车、苹果手机的Siri等语音助手和智能医疗等。

0.1 课前准备:

  • 需要有linux命令行基础(我的《linux探索之旅》、《鸟哥的私房菜》和慕课网的《linux达人养成计划》)、python和数学基础(线性代数、微积分、概率论)

0.2 课程主要内容:

  • 课程的主要内容包括人工智能的理论知识、开发工具介绍、TensorFlow基础练习和应用实践,
  • 通过这门课程可以了解到人工智能的知识点、python库的使用和TensorFlow框架的使用和应用开发。

0.3 知识点:

  • 人工智能:深度学习、强化学习和神经网络等
  • python:各种python的常用库
  • TensorFlow:原理、循序渐进的使用,最终实战

0.4 TensorFlow的介绍:

TensorFlow它是google开源的基于数据流图的科学计算库,适用于机器学习。

TensorFlow的基本构架

TensorFlow的详细架构

TensorFlow的特点:

  • 灵活性:只要可以将计算表示成数据流图,就可以使用TensorFlow
  • 跨平台:linux、windows、android、ios、raspberry pi等
  • 多语言:上层开发语言python、c++、java、go等
  • 速度快:包含了XLA这款强大的线性代数编辑器
  • 上手快:keras、estimiators等高层api
  • 可移植性:代码几乎不加修改移植到cpu、gpu、tpu等平台上

TensorFlow的著名用途:

  • DeepMind(google)的AlphaGo、AlphaGo Zero的底层技术
  • google产品:搜索,gmail,翻译、地图、android、照片、youtube
  • 开发出击败dota2世界顶级选手的AI的OpenAI使用TensorFlow

TensorFlow的大事记:

  • 2015年11月9google在github上开源了TensorFlow
  • 2016年4月13TensorFlow0.8版本发布,支持分布式
  • 2016年4月29开发AlphaGo的deepmind团队转向TensorFlow
  • 2016年5月12开源基于TF的最准确语法解析器Syntaxnet
  • 2016年6月27:TensorFlow0.9版本发布,增加移动设备支持
  • 2016年8月30:高层库TF-Slim发布,可以更简单快速定义模型
  • 2017年2月15:TensorFlow1.0版本,提高了速度和灵活性
  • 2017年8月17:TensorFlow1.3版本,Estimators估算器加入
  • 2017年11月2:TensorFlow1.4版本,keras等高级库被加入核心

主要机器学习库的对比:

学习方法:

  • 官网
  • 视频+书籍(吴恩达的maching lerning coursera)还有吴恩达的深度学习课程
  • 实战

依次学习人工智能、数学知识、机器学习、深度学习、TensorFlow

TensorFlow的安装形式有

  • virtualenv
  • pip:python软件包管理系统即pip installs packages递归缩写
  • docker
  • anaconda
  • 源代码编译

0.5 课程需要用到的软件及其安装:

操作系统:Ubuntu 16.04

python:2.7.x

python库:numpy,matplotlib等

TensorFlow

任天堂N64游戏主机模拟器:Mupen64plus

虚拟机:vitualbox 5.x

安装过程:这个过程等在自己电脑上实现后,编写出来步骤。

1. 人工智能、机器学习、深度学习的定义

三者的范围

1.1 定义和分类:

机器学习等同通过训练找到一个好的函数模型,然后可以更好的预测出数据。

机器学习分为监督学习、无监督学习、半监督学习、强化学习

  • 监督学习(supervised learning):带标签
  • 无监督学习(unsupervised learning):不带标签,cluster(聚类)
  • 半监督学习(semi-supervised learning):少量标签
  • 强化学习((reinforcement learning)):基于环境而行动,以取得最大化预期利益

机器学习6步走:收集数据、准备数据(特征数据)、选择/建立模型、训练模型、测试模型、调节参数

机器学习关键的三步:

  • 找一系列函数来实现预期的功能:建模问题
  • 找一组合理的评价标准,来评估函数的好坏:评价问题
  • 快速找到性能最佳的函数:优化问题(比如梯度下降就是这个目的)

深度学习:基于深度神经网络的学习研究称之为深度学习

深度学习的工作原理:

  • 1、在神经网络中正向传播参数信号,经过隐藏层处理,输出结果
  • 2、计算和预期的差距(误差),反向传播误差(BP算法),调整网络参数权重(还可以进行模型的调整)
  • 3、不断地进行:正向传播->计算误差->反向传播->调整权重

1.2 过拟合问题:

过拟合:一丝不苟的拟合数据导致模型的泛化能力弱
解决办法:

  • 降低数据量
  • 正则化
  • dropout

1.3 人工智能发展简史:

  • 沃伦.麦卡洛克和沃尔特.皮茨在1943年创造了神经网络的计算模型
  • 由约翰.麦卡锡等人在1956年发起的达特茅斯会议(定义AI)
  • 罗森布拉特1957年发明了感知器这种最简单的人工神经网络,从而出现了第一个高峰
  • 1970年后的10几年是人工智能的第一个寒冬,原因是传统的感知器耗费的计算量和神经元的舒服平方成正比,计算机性能不够
  • RNN递归神经网络:由约翰、霍普菲尔德在1982年发明的一种递归神经网络,它具有反馈机制

  • 1986大卫.鲁姆哈特完整提出了BP算法(back propagation),它最初是由保罗.沃伯斯于1974年发明。从而出现了第二个高峰
  • 1990年开始,由于美国政府资助的人工智能计算机Darpa没能实现,导致人工智能进入了第二个寒冬
  • 2006年杰弗里.辛顿提出基于深度(多层)的神经网络,从而出现了第三次热潮
  • 人工智能进入了感知智能时代(运算智能、感知智能、认知智能)

2. TensorFlow的使用

2.1 创建一个简单的helloword显示:

mkdir mooc //创建目录mooc
cd mooc  //进入到目录mooc中
mkdir 1.helloworld  //创建1.helloworld目录
cd 1.hellworld/  //进入到1、helloworld目录中
vim helloworld.py  //用vim编辑器生成并且编辑helloworld.py
//以下为helloworld.py的内容
#_*_ coding: UTF-8 -*_

#引入TensorFlow库
improt tensorflow as tf
#创建一个常量operation(操作)
hw = tf.constant("Hello world ! I love tensorflow !")
#启动一个TensorFlow的session(会话)
sess = tf.session
#运行Graph(计算图)
printf sess.run(hw)
#关闭session(会话)
sess.close()
//结束

python helloworld.py

2.2 TensorFlow的基础模型:

TensorFlow的基础模型

边为(Tensor张量)、结点(operation操作)

会话、图的解释

tensor的属性包括:dtype、shape等

tensor有以下几种:

  • constant、常量
  • variable、变量
  • placeholder、占位符
  • sparsetensor、稀疏张量

tensor的表示法

var=tf.variable(3)
var
<tf.variable 'variable_3:0' shape=() dtype=int32_ref>

设定tensor的属性(dtype、name)

named_var = tf.Variable([5,6], name="named_var",dtype=tf.int64)

TensorFlow的程序流程

2.3 可视化利器TensorBoard:

TensorBoard可以用来看到训练模型中的黑匣子内部的状态。

使用步骤:

  • 1、tf.summary.FileWriter("日志保存地址",sess.graph)
  • 2、tensorboard --logdir=日志所在路径
  • 3、summary(总结、预览),用于到处关于模型的精简信息的方法,可以使用TensorBoard等工具访问这些信息

summary中图标表示的意思

一个训练模型的例子(tensorboard.py):
#_ coding: UTF-8 -

improt tensorflow as tf  //引入TensorFlow库
w=tf.Variable(2.0,dtype=tf.float32, name="weight")#权重
b=tf.Variable(1.0,dtype=tf.float32, name="bias")#偏差
x=tf.placeholder(dtype=tf.float32, name="input")#输入
with tf.name_scope("output")  #输出的命名空间
      y=w*x +b  #输出

path = "./log"   #定义保=-存日志的路径
init=tf.global_variables_initializer()  #初始化所有的变量
with tf.Session() as sess  #创建session会话
      sess.run(init) #变量呗初始化
      writer=tf.summary.FileWriter(path,sess.graph)
      result =sess.run(y, {x:3.0})
      print("y = %s" % result) #打印运行结果

所有的运行命令如下

  • vim tensorboard.py
  • python tensorboard.py
  • tensorboard --logdir=log

原文地址:https://www.cnblogs.com/agui125/p/9938461.html

时间: 2024-11-07 17:39:14

人工智能初识的相关文章

人工智能初识-神经网络算法

人工智能越来越火了,随之的Python也被吵起来了,被视为人工智能的代表性编程语言.我是一个工科生,学习的是老牌的电气专业,但是视野的开阔让自己越发感觉这个老牌的专业虽然是当今不可缺少的一个行业,在这不断的变革当中单一的电气已经不能满足这个大时代的需要了,也不知道自己该如何将他们在一起结合.自己在大学阶段也只能尽量开阔我的视野,尽量多方面有所涉猎,也好在之后的变革之中有更多的机会. 人工智能这个东东第一想到的肯定就是各种各样的算法.而我知道的也就只有神经网络算法,感觉很高大上的一个东西,恰好在去

人工智能初识(百度ai)

目前的人工智能做了什么? 语音识别:小米的小爱同学,苹果的siri,微软的Cortana语音合成:小米的小爱同学,苹果的siri,微软的Cortana图像识别:交通摄像头拍违章,刷脸解锁手机等视频识别:抖音内容审核,视频社交APP的审核机制文字识别:从身份证照片提取身份证号码,扫一扫翻译语义理解:智能问答机器人,也包含小米的小爱同学,苹果的siri,微软的Cortana 我们身边的人工智能 银行办卡刷脸就行车辆违章有牌儿就跑不了违法犯罪路过天眼,等于自投罗网“小爱同学”,”哎~”,”打开电视”,

博客总目录

1.linux相关 1.1:鸟哥的私房菜基础篇 1.2:内核与驱动学习 1.3:杂七杂八 1.4:有用的链接 2.人工智能相关 2.1:人工智能初识 3.图像处理 3.1:图像基础概念 1. linux相关 1.1 鸟哥的私房菜基础篇: linux基础6-bash shell编程 linux 基础7-正则表达式 linux 基础8-shell script linux 基础9-账号与身份管理 linux 基础10-磁盘配额管理 linux 基础11-例行性命令 linux 基础12-程序与资源管

初识大数据(三. 大数据与人工智能的关系)

大数据与人工智能有什么关系呢?AI本身就是一种大数据的应用,特别是在对于AI系统进行训练的时候,使用的数据越多,AI系统就越先进.也就是说对于人工智能系统进行训练使用的数据量越大,数据质量越好,人工智能系统的质量就越高,从这个意义上来说AI本身也是一种大数据应用.        机器学习是人工智能的子集,深度学习是机器学习的子集,但是深度学习的影响是最大的,比如图像识别.语音识别.语义识别.   常用框架: 1. Scikit-Learn: 基于 Python 语言的机器学习工具, 该算法库显得

Flask&amp;&amp;人工智能AI -- 8 HTML5+ 初识,HBuilder,夜神模拟器,Webview

昨日内容回顾 1.增删改查: 增: db.collections.insert({a:1}) // 官方不推荐了 db.collections.insertMany([{a:1},{b:1}]) insertOne({a:1}) 查: db.collections.find({a:1,b:1}) db.collections.findOne({a:1}) 改: db.collections.update({a:1},{$set:{b:2}}) // 官方不推荐了 db.collections.u

人工智能_1_初识_机器学习介绍_特征工程和文本特征提取

# 人工智能:预测,分类 # 人工智能: # 自动的工作 # 机器学习(包含深度学习) # 以前的限制因素:计算能力,数据,算法发展 # 用途: # 图像识别 # 识别图片中不同的地方(医学CT) 不用人工识别 # 图片艺术化(可以替代ps) # 无人驾驶 # 人脸识别 # 自然语言处理 # 语音识别 # 自动写报告 # 传统预测 # 性能评估 # NLP # 推荐系统 # 机器学习的数据:文件格式,csv(逗号分隔值) # 不使用数据库: # 1,性能瓶颈,数量过多,2,3GB 读取慢 # 2

饮冰三年-人工智能-Python-46 Python之 初识ECMAScript6

一.ECMAScript与JavaScript 的关系 前者是后者的规格,后者是前者的一种实现.在日常场合,这两个词是可以互换的. 二.let和const命令 1.let与var var:变量提升 与 let:块级作用域 <script> console.log(a) //输出结果: undefined console.log(b) //直接报错: Uncaught ReferenceError: Cannot access 'b' before initialization var a =

《A.I.爱》王力宏与人工智能谈恋爱 邀李开复来客串

2017年9月19日下午,王力宏首张数字专辑<A.I.爱>亚洲发布会在北京举行,力宏在新歌MV中化身技术男,网红机器人Sophia扮新娘!和Robo Alpha机器人天团大跳舞蹈,与超跑酷炫飙车,全程都帅到爆了!友情出演的李开复老师在第一时间转载,并说这是自己的第一部MV(开复老师的第一次哦),献给大家. MV视频地址:http://t.cn/R0vPUoT   去年荣获母校伯克利音乐学院及威廉姆斯大学颁发双博士学位的音乐才子王力宏,连续四年获邀参加私密性极高.集结微软创办人比尔.盖兹.Fac

1DAY 初识Python

一 本节目标 了解编程语言 了解python及与其他语言的优劣对比 安装python解释器及环境变量配置.运行python交互式环境 打印hello world程序 初识变量.用户输入,流程控制,while循环 二 了解编程语言 2.1 为什么要编程? 解放人力:让机器(比如计算机)按照人们事先为其编写好的程序自发地去工作 2.2 什么是编程语言? 人----------->汉语--------------->中国人                    八格牙路----------->