【class1】人工智能初步(认识人工智能)

简单了解历史

人工智能之父

“让机器像人类一样思考”最早是由英国数学家艾伦·图灵于1950年发表的《计算机与智能》中提出。
因此,图灵被称为计算机科学与人工智能之父。

理解人工智能

智能(Intelligence)通常指的是人类独有的、用于解决问题的智慧。判断一个机器是否具有智能,可以使用图灵测试

图灵测试——模仿游戏

图灵提出,要测试一个机器是否具有智能,只需要看它是否能成为一个“人类模仿大师”。
测试具有聊天功能的机器人是否“智能”,我们可以让它模仿人类的说话习惯,然后与不同的测试人员聊天。

判断结果

若在规定的时间内,大部分测试人员没有意识到与他聊天的是机器人,那我们就认为该机器人是“人类聊天模仿大师”,即它是具有智能的。

总结一下,

机器模仿人类思考的能力,被称为具有“人工智能”。
比如人脸解锁,就是机器在模仿人类“从不同的面部信息中,识别指定面孔”的能力。

后续

图灵的想法引起多位学者的重视,开启了探讨人工智能的热潮。
那么,早期的“人工智能”是如何实现的呢?

最早期的人工智能-----”专家系统“

基于设定好的条件规则,能够进行自动判断的程序问世,从而搭建了问题处理系统。
专家系统就是其中之一,它被认为是最早期的“人工智能”。

定义

将某个领域专家水平的知识作为数据存储起来形成“知识库”,并把其经验设定为规则条件,就构成了一个能够自动解决该领域问题的程序。
该程序称为专家系统。

隐喻

心理医生用来测试心理状况的问卷,就可以看作是一个心理行业的专家系统。

总结:

简单来说,早期的“人工智能”程序由大量的字典等内容组成数据储备,并用固定数量的条件规则作为逻辑。
机器在遇到问题时,通过规则从数据中查找答案。

因为所有的规则都由人工录入,所以机器并没有真的“思考”。
为此,美国哲学家约翰·希尔勒提出了“中文房间”的实验

中文房间

对于一个英语母语者来说,若为他提供足够的翻译书籍工具 与查阅这些资料的时间,他就能够正常的通过文字与中文使用者交流。
实际上我们认为他并没有学会中文,因为他无法处理数据以外的内容

因此“中文房间”证明了专家系统并非具有真正的“智能”

人们认识到,要想实现真正的人工智能,除了读取固有的数据以外,还需要让电脑对未知的数据进行预测。
但限于当时计算机硬件的发展,直到图灵去世都未有一台机器通过图灵测试。

时间回到现在,随着计算机硬件大幅度升级,电脑的存储区域呈爆炸性增长。
人们提出了以统计学等数学方法为基础的新“人工智能” —— 机器学习

机器学习与人工智能

了解机器学习

举一个例子

如何利用数学方法来实现机器学习呢?
现在让我们来扮演一名房地产销售经理,看一下这个过程。

例子:预测房价

用A与C来预测B

找出在这些数据中,最吻合的直线。然后获取房型B在该直线上对应的位置,就能够预测出它的售价。
通过某种方式将这些数据归纳、总结,就可以得出新的结论。这就是人类学习的过程。

分析例子

刚才根据数据找直线的过程,是机器学习中的「线性回归」算法,用于研究两个变量之间的线性相关关系。
除此之外,机器学习中还有许多其它的算法。

比如,K近邻、朴素贝叶斯、决策树、逻辑回归、聚类算法、支持向量机、EM算法等等。看到这些算法名称,是不是有点害怕?
不用担心,后面的课程里我们会避开复杂难懂的概念,带你从不一样的角度了解机器学习,并用它实现一些酷炫的人工智能应用~如下:

1. 文本处理

机器学习可以处理文本,具体分为文本识别、语音识别、自然语言处理等,主要目的是为了让机器理解人类的语言。
比如:
拍照提取图片文字;
聊天机器人、智能客服;
文本内容分类等。

2. 图像识别

我们可以利用摄像头等设备实现对图像进行处理、分析和理解的程序。
比如:
提取画面中的人脸信息;
图片内容提取、自动分类;
自动修改图片内容——美颜等。

3. 推荐系统

机器学习可以分析用户行为数据,建立用户偏好模型,最后找到用户可能感兴趣的对象进行推荐。
比如:
听歌软件的每日推荐;
短视频的相关推荐;
购物网站的“猜你喜欢”等。

比如,我们会学习如何通过“人脸识别”技术,自动提取监控设备中的人脸画面,对乘客的面部特征进行分析,并对未佩戴口罩的乘客进行筛选并提醒。

from aip import AipFace

""" 你的 APPID AK SK """

APP_ID = '10252021'

API_KEY = 'ZHe7788sh11GEjIAdEKeY'

SECRET_KEY = 'JMMzHe7788BUSH1ZhEnM1YUEhh'

client = AipFace(APP_ID, API_KEY, SECRET_KEY)

import base64

def get_img(path):

    with open(path, "rb") as f:

        res = f.read()

        img = base64.b64encode(res)

        return img

""" 如果有可选参数 """

options = {}

options["face_field"] = "age,quality"

options["max_face_num"] = 10

img_path = "/User/image.png"

img = str(get_img(img_path), 'utf-8')

""" 带参数调用人脸检测 """

ret_data = client.detect(img, "BASE64", options)

print(ret_data)

from PIL import ImageDraw, Image, ImageFont

# 创建画布

with Image.open(img_path) as img:

    img_cp = img.copy().convert('RGB')

    draw = ImageDraw.Draw(img_cp)

# 自适应文字大小

print(img_cp.size[0])

font = ImageFont.truetype('font/yahei_consola.ttf', img_cp.size[0] * 1 // 30)

if ret_data['result']:

    for face_dict in ret_data['result']['face_list']:

        r = list(face_dict['location'].values())

        left, top, width, height = r[:4]

        age = face_dict['age']

        print(age)

        face_qa = face_dict['quality']['occlusion']

        if face_qa['nose'] > 0.5 and face_qa['mouth'] > 0.5:

            color = (0, 255, 0)

            text = '\n已佩戴口罩'

        else:

            color = (255, 0, 0)

            text = '\n未佩戴口罩'

        draw.rectangle((left, top, left+width, top+height), outline=color, width=4)

        draw.text((left + 5, top+height), str(age)+text, fill=color, font=font, align="left")

        # draw.text((left, top+height), text, fill=color, font=font)

    img_cp.save('face.png')

else:

    print('人脸识别失败!')

  • 31
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值