谷歌SEO

谷歌SEO

Products

当前位置:首页 > 谷歌SEO >

建设部网站中天人建筑工程有限公司合肥如何建立微网站建设?

96SEO 2026-02-20 03:20 15


原文Artificial

聊天机器人的未来聊天机器人的现状基本的聊天机器人概念流行的聊天机器人平台DialogFlow

建设部网站中天人建筑工程有限公司合肥如何建立微网站建设?

Python

就像核技术已被用于开发核武器和为核电站供能一样人工智能也可以用于崇高的事业或邪恶的目的。

例如使用当前的“现成”技术我们可以制造一架无人驾驶飞机向其提供目标人员的照片然后让无人驾驶飞机追捕该人直到将其消灭。

即使将该技术用于更具建设性的用例也很难预测该技术在未来几年中将如何发展。

AlexaSiri

等消息传递平台为企业与人互动创造了机会并有可能通过这些互动获利。

2019

随着使用聊天机器人云计算和语音生物识别技术的不断发展公司可以改善客户服务并以更少的人员处理更多的电话。

年中当您致电您的银行时只有最不常见的情况需要人工干预并且很大一部分电话会自动处理。

当我们拨打呼叫中心时有时至少是打电话给我们的原因之一是抱怨或发泄不仅能解决问题。

随着聊天机器人变得越来越好他们将能够展示出我们所理解的同情和理解。

此外他们将拥有对您以前所有通话的完全访问权限并且能够通过记住先前对话的片段来发展历史并建立融洽的关系。

Bobby

此外就像现在一样当您通过网络电话应用等不同渠道与银行进行通信或者与分行中的某人交谈时聊天机器人将能够访问并使用通过其他渠道输入的信息可以为您提供更好更快的服务。

再说一次我们还没有到那儿但是可能会有一天我们宁愿打电话给客户服务而不是使用其他渠道如在线访问因为这样会更快更有效。

举例来说我确实发现自己越来越多地使用

听音乐设置闹钟创建购物清单获取天气预报控制房屋周围的设备订购在线商品预订机票

例如除非我们以这种方式对其进行编程否则聊天机器人将永远不会感到沮丧。

尤其是聊天机器人持续不断的发展在伦理上的影响是一个不变的话题。

随着聊天机器人变得越来越好越来越像人类当我们与聊天机器人而不是人类聊天时监管机构可能会迫使企业披露信息。

但是我们可能会达到这样的地步聊天机器人是如此出色以至于尽管在一开始就进行了披露但我们很快就会忘记另一端是一台计算机而不是理解我们并同情我们的人。

Google

毫无疑问聊天机器人将是多产的—在我们的家中在我们的汽车中在可穿戴设备中在呼叫中心以及在电话中。

2019

与其他技术一样使用该技术成长的年轻人永远不会知道没有聊天机器人为我们服务并改善我们的生活会是什么样子。

在下一节中我们将回到现实并就如何利用现有的聊天机器人技术使用当今可用的工具创建出色的应用提供一些建议。

在的上一节中我们讨论了随着人工智能技术的发展未来几年可能实现的目标。

在本节以及本章的其余部分我们将重点介绍当今可行的方法以及使您自己的应用尽可能有用和用户友好的最佳实践。

为了利用当今可用的现有技术并且鉴于仍然需要使用域数据和特定意图来对当前的聊天机器人进行专门编程因此我们应该谨慎设计一个好的设计和好的计划来对我们的聊天机器人进行编程。

当前与定义为“万事通”的聊天机器人相比在定义明确且狭窄的域空间中发挥作用的聊天机器人具有更好的表现和有用的机会。

设计用于在在线商务体验期间提供支持的聊天机器人不能用于诊断汽车问题而必须在该域中重新编程。

将聊天机器人明确地放在特定的目标和空间上这样很可能会为用户创造更好的体验。

脸上惊慌失措的表情告诉我他不明白这个问题无论有多少次我试图解释他都不会。

这里的要点是服务生知道“餐馆英语”以及完成餐厅交易所需的所有短语和互动。

同样当我们在以下各节中开发聊天机器人时只要我们停留在预期的域中它就可以与我们的用户进行通信。

如果聊天机器人被开发用于预订餐厅那么如果用户的意图是进行医疗诊断它将无法提供帮助。

目前我们使用

在目前的状态下聊天机器人将能够以人类为中心的方式帮助我们完成重复性的交易任务。

但是即使我们应该尝试使聊天机器人在域上保持尽可能紧密但这并不意味着我们不应该在机器人中注入一些“个性”。

Alexa

人们在聊天时通常希望对对话有一定程度的共同兴趣因此对话将以这样的方式进行将存在回答后续问题的答案以及有助于和促进对话的答案

在深入研究自己的聊天机器人的设计之前让我们介绍一些在开发过程中对我们有帮助的基础概念。

聊天机器人概念

在开发代码之前让我们设定一个基准并访问一些与聊天机器人相关的有用定义。

智能体

这是一种自然语言理解模块需要经常接受训练以适应特定于使用的需求。

演讲者正在尝试娱乐例如有人告诉您开玩笑。

演讲者正在尝试通知有人问几点了或者温度是多少

上下文

上下文是用来给予讨论的连贯性和流畅性保留了对话中已经使用的关键概念。

因此DialogFlow

提供了已经过训练的预建实体或者我们可以构建自定义实体并对其进行训练。

DialogFlow

这样的聊天机器人平台可以与大多数最受欢迎的对话和消息传递平台集成例如

Google

履行是一项连接服务可让您根据最终用户的表达来执行操作并将动态响应发送回用户。

例如如果用户正在寻找员工详细信息则您的服务可以从数据库中获取详细信息并立即对用户结果进行响应。

每当我们与某人进行对话时使用稍有不同的方式提出相同的问题是完全正常的。

例如我们可能会问“今天过得怎么样”的问题但是有很多方法可以问相同的问题。

示例包括

人类自然会善于从话语中解释含义并回答发问者想问的问题而不是他们实际问的问题。

但是作为人类我们有足够的技巧来理解的真正含义可能是“告诉我您的一天”。

许多聊天机器人平台都变得越来越好不再要求我们拼出每一个发音而是能够进行一些“模糊”匹配并且不需要为每个单独的组合输入内容。

唤醒词

这样的许多聊天机器人保持休眠状态直到它们被“唤醒”并准备好接收命令为止。

Siri默认唤醒字为“Hey

聊天机器人唤醒后很多时候我们希望该聊天机器人为我们执行一个动作因此我们需要“启动”该动作。

order订购tell

当聊天机器人没有针对特定交互的程序化答案时它应该能够显示默认行为以尽可能优雅地处理无法预料的情况。

例如如果聊天机器人的功能是预订美国境内的国内航班但用户请求飞往加拿大温哥华的包机则聊天机器人应能够优雅地告诉用户他们仅服务于美国城市然后再次询问目的地

Webhooks

既然我们已经介绍了与聊天机器人更好地协作所需的基本概念让我们考虑如何创建一个有用的“结构良好”的聊天机器人。

适应性

自适应聊天机器人是一种可以理解并适应收到的所有语音的聊天机器人。

即使对于未明确编程的语音也应该有一个优美的响应以使聊天机器人用户重回正轨或者利用此机会将会议转移给实时操作员。

个性化设置

我们喜欢听到自己的名字也喜欢别人记住我们的一些小事我们孩子的名字母校等等。

个性化的聊天机器人会记住以前的交互以及他们收集的有关单个用户的信息。

当然我们的聊天机器人应该随时准备提供帮助并在需要时随时进行访问。

但这也适用于我们能够以多快的速度获取聊天机器人来帮助我们实现意图。

想一想在传统交互式语音响应IVR系统中的导航树在这些导航树中我们必须按很多数字然后他们才知道我们要执行的意图。

相关性

与相关的聊天机器人可以使聊天机器人的用户感知到他们确实在进行正常的对话。

但是在此之前我们应该考虑主要的聊天机器人平台这些平台是我们聊天机器人的开发和发行的基础。

聊天机器人平台

这三大供应商均提供可靠且可扩展的云计算服务这些服务将帮助您根据需要实现和自定义聊天机器人。

Api.aiAzure

服务MicrosoftLexAWSWit.aiFacebookWastonIBM

当然可以使用此处列出的平台以及其他流行的平台编写功能强大的聊天机器人。

在聊天机器人服务中DialogFlow

DialogFlow并在本章的其余部分中使用该平台进行聊天机器人的开发。

DialogFlow

PlatformGCP控制台仅通过即可不使用代码来配置聊天机器人。

Python

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MXJ7E6po-1681568818800)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_16_01.png)]

1Google

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f1qTCbmt-1681568818801)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_16_02.png)]

2DialogFlow

正如我们先前看到的聊天机器人开发中的另一个重要概念是插槽类型。

DialogFlow

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-93guXiQS-1681568818801)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_16_03.png)]

3DialogFlow

可以通过编程方式创建这些意图但是为了使示例保持简单我们将使用图形化界面来创建意图。

如果没有其他意图被调用则将被调用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DbW3u07U-1681568818801)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_16_04.png)]

4创建

我们在构造这些句子时越精确越全面那么聊天机器人在识别意图方面将越成功。

现在我们可以通过插入更多意图为聊天机器人添加更多功能来进行操作。

DialogFlow

我们可以通过在从一个意图转到另一个意图的同时添加参数同时保持对话的上下文来使我们的聊天机器人更加灵活。

使用小部件将聊天机器人集成到网站中

要使用此方法请从左侧菜单中选择Integrations并确保已启用Web

HTML

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iXxA2MDJ-1681568818802)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_16_05.png)]

Python

将聊天机器人集成到站点中可以在如何部署聊天机器人方面为开发人员提供更多的控制权和灵活性。

Python

该代码初始化一个以意图为输入的客户端会话最后返回一个响应即所谓的fulfillment并将相应的置信度作为一个十进制值。

我们要获取答案的句子保存在名为text_to_be_analyzed的变量中。

Install

session_client.session_path(PROJECT_ID,

SESSION_ID)

DialogFlow.types.TextInput(textanalyzed_text,

query_input

DialogFlow.types.QueryInput(texttext_input)

try:response

session_client.detect_intent(sessionsession,

except

response.query_result.query_text)

print(Detected

response.query_result.intent.display_name)

print(Detected

response.query_result.intent_detection_confidence)

print(Fulfillment

response.query_result.fulfillment_text)

Python

进行会话的目的是能够向服务器发出请求并接收可以满足该请求的响应。

DialogFlow

到目前为止我们仅使用本地服务器因此其他外部客户端无法通过互联网访问该服务器。

要将其集成为

Webhook我们需要将其部署在可以通过互联网访问的服务器上。

ngrok

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lXKsDobf-1681568818802)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_16_06.png)]

6ngrok

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N6vIpCmN-1681568818802)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_16_07.png)]

7Dialogflow

https://886b89bc.ngrok.io/webhook

https://

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I5EmO2Y0-1681568818803)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_16_08.png)]

Dialogflow

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nNkvmRTd-1681568818803)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_16_09.png)]

Dialogflow

在此示例中我们将非常简单地开始但最终我们将允许用户从餐厅订购食物。

因此例如用户可能会说“我想订购汉堡和薯条”而聊天机器人会将这种话语传递给后端以进行验证存储和处理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nb3xTMgE-1681568818803)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_16_10.png)]

10Dialogflow

req.get(queryResult).get(action)#

return

make_response(jsonify(results()))

run

req.get(queryResult).get(action)

This

req.get(queryResult).get(action)

现在我们将研究如何从服务器获取响应以及如何根据响应来处理响应。

检查来自

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QrS1wh3L-1681568818803)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_16_11.png)]

11Dialogflow

在这一点上我们的聊天机器人除了演示如何从服务器获取响应外还没有做其他事情。

一些明显的增强功能包括根据建立的菜单检查所请求的食物以查看菜单上是否有可用项目

在本章中我们首先了解了聊天机器人的潜在未来以及聊天机器人变得越来越好将如何影响我们的社会。

然后我们了解了当前聊天机器人技术的局限性以及当前局限性推荐的最佳实践。

Google

我们一步一步地了解了如何测试聊天机器人的功能并确保其设置正确。

在下一章中我们将跳到另一个令人兴奋的主题并学习如何训练序列数据并将其用于时间序列分析。

序列数据和时间序列分析

为此我们将涵盖许多主题以使我们更好地掌握如何构建和使用这些模型。

我们将学习如何处理

我们将了解如何分割时间序列数据并对其执行各种操作然后我们将讨论如何滚动地从时间序列数据中提取各种统计信息。

接下来我们将学习隐马尔可夫模型HMM然后实现一个用于构建这些模型的系统。

我们将了解如何使用条件随机场来分析字母序列最后我们将讨论如何使用到目前为止学到的技术来分析股市数据。

Pandas

处理时间序列数据切片时间序列数据操作时间序列数据从时间序列数据中提取统计信息使用隐马尔可夫模型生成数据使用条件随机场识别字母序列股市分析

在机器学习的世界中我们遇到了许多类型的数据例如图像文本视频和传感器读数。

这里有些例子

基因组序列数据这个也许是我们拥有的序列数据的最好和最重要的例子。

如果我们开始更改本书中单词的顺序不久之后本书将变得完全不可理解

计算机语言在大多数计算机语言中正确的输入顺序对于任何功能正常运行至关重要。

例如在许多计算机语言中符号的意思是“大于或等于”而在其他语言中的意思可能是赋值或产生语法错误。

许多数据科学家将在其职业生涯中的某个时刻尝试使用其数据科学技能来尝试预测股市。

他们中的许多人将意识到这是一项艰巨的努力并转向其他主题和问题。

在经济周期的不同时间股票对经济状况的反应不同。

影响股票价格的因素很多这使它成为一个非常复杂的系统。

股票中一些最剧烈的变动发生在市场交易时间之外这使得实时处理这些信息变得困难。

IoT

时间序列数据是从任何数据源例如传感器麦克风股票市场等获得的时间戳值。

时间序列数据具有许多重要特征需要对其进行建模才能进行有效分析。

在本章中我们将看到如何构建通常描述时间序列数据和序列数据的模型。

时间序列数据分析被广泛应用于金融传感器数据分析语音识别经济学天气预报制造以及更多领域。

在本章中我们将广泛使用一个名为

这是一个可爱的名字让人联想到毛茸茸的熊但这里有一些没用的琐事。

Pandas

的名称来自面板数据一词这是计量经济学术语用于包含多个时间段内观测值的数据集。

我们还将使用其他几个有用的包例如hmmlearn和pystruct。

pip3

如果在安装cvxopt时出错则可以在这个页面上找到进一步的说明。

假设您已经成功安装了包让我们继续进行下一部分在此我们将研究如何通过和

Pandas

使用集成索引的数据帧操作从各种不同的文件格式读取数据并将数据写入内存数据结构的方法数据分类数据筛选缺失值估计重塑和旋转数据集基于标签的切片索引和子集创建高效的列插入和删除数据集上的按分组操作合并和连接数据集

在本节中我们将使用它来将数字序列转换为时间序列数据并将其可视化。

Pandas

库需要结束日期为独占日期因此我们需要将最后一行的date字段增加一个月

Extract

使用开始日期和结束日期以及每月一次的频率来创建带有日期的索引列表

Create

timeseries.plot()plt.title(Dimension

str(index

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-av2rBG1A-1681568818804)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_17_01.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fESxTYX3-1681568818804)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_17_02.png)]

在本节中我们为如何使用

从外部文件加载数据如何将其转换为时间序列格式以及如何对其进行绘制和可视化奠定基础。

切片时间序列数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iUHlPxTM-1681568818804)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_17_03.png)]

2011

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bIQOeqP7-1681568818804)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_17_04.png)]

2006

库中可用的不同功能例如过滤和求和以及该功能如何帮助更好地分析和处理数据集。

操作时间序列数据

在这种情况下我们将获取dim1中所有小于45的数据点和dim2中所有大于30的值

Filtering

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1aRrYUO3-1681568818805)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_17_05.png)]

5重叠数据1968

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-esLg8n8g-1681568818805)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_17_06.png)]

6dim1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SVeBVigp-1681568818805)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_17_07.png)]

1975

为了从时间序列数据中提取有意义的见解我们可以从中生成统计数据。

Python

data[dim1].rolling(window60).corr(o***rdata[dim2]).plot()

plt.show()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0ChoPgCp-1681568818805)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_17_08.png)]

8滚动平均值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dBS328sZ-1681568818806)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_17_09.png)]

9滚动相关

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XTuCWvny-1681568818806)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_17_10.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HgiTsHGg-1681568818806)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_17_11.png)]

11逐行均值和相关系数

1.0的相关性表示完全相关而0.0的相关性表示变量根本不相关。

到目前为止我们将不会很快凭借我们的模型及其预测股票价格的能力而成为百万富翁。

在下一节中我们将学习一种有用的技术来分析时间序列数据称为隐马尔科夫模型HMM。

在此示例中推销员必须在以下三个城市之间旅行才能工作伦敦巴塞罗那和纽约。

考虑到他的工作承诺和时间表我们有一组概率决定了从城市X到城市Y的机会。

城市概率P(London-London)0.10P(London-Barcelona)0.70P(London-

NY)0.20P(Barcelona-Barcelona)0.15P(Barcelona-London)0.75P(Barcelona-

NY)0.10P(NY-NY)0.05P(NY-London)0.60P(NY-Barcelona)0.35

伦敦巴塞罗那纽约伦敦0.100.700.20巴塞罗那0.750.150.10纽约0.600.350.05

如果我们没有马尔可夫链来对该问题进行建模那么我们将不知道旅行时间表是什么样的。

X(i

GaussianHMM(n_componentsnum_components,

covariance_typediag,

range(hmm.n_components):print(\nHidden

state,

round(np.diag(hmm.covars_[i])[0],

2))

plt.plot(np.arange(num_samples),

generated_data[:,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zXi8JuAa-1681568818806)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_17_12.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r9fDqcX5-1681568818806)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_17_13.png)]

13HMM

在给定不同行程的情况下我们解释图表的方式是遍历销售路线所需的时间不同。

HMM

手写识别字符识别物体检测命名实体识别基因预测图像分割语音标记的一部分降噪

CRF

在第一个字母之后的下一个字母将成为元音的可能性高于其在辅音中的可能性。

CRF

较高的C值表示我们会在训练过程中对错误分类施加更高的罚款但最终可能会使模型过拟合。

def

argparse.ArgumentParser(descriptionTrains

Conditional\Random

classifier)parser.add_argument(--C,

destc_val,

FrankWolfeSSVM(modelChainCRF(),

Cc_val,

np.array(alphabets[labels])folds

folds

self.clf.predict(input_data)[0]

Convert

np.array(list(string.ascii_lowercase))

提取字母

build_arg_parser().parse_args()c_val

args.c_val

convert_to_letters(y_test[index]))predicted

print(Predicted

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0yBNGUwt-1681568818807)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_17_14.png)]

14CRF

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0gAq0SJn-1681568818807)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_17_15.png)]

15原始输出与预测输出

请不要指望此模型产生的结果将接近生产质量并且您将能够使用此模型执行实时交易并从中获利。

如果您愿意我们建议您继续增强模型并针对不同的数据集强调该模型并可能将其与当前市场数据一起使用。

Python

yf.Ticker(INTC).history(startstart_date,

endend_date)

np.column_stack([diff_percentages,

intc.Volume[:-1]])

warnings.catch_warnings():warnings.simplefilter(ignore)hmm.fit(training_data)

HMM

plt.plot(np.arange(num_samples),

samples[:,

plt.plot(np.arange(num_samples),

samples[:,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hCg7vGfQ-1681568818807)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_17_16.png)]

16差异百分比

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7NxNzjS2-1681568818807)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_17_17.png)]

17股票数量

正如我们在本节开头提到的我们不建议您使用此代码来使用真实货币进行实际交易。

Pandas

首先我们将花费一些时间来理解为什么图像识别对于机器学习非常重要。

然后我们将学习称为

我们将学习如何使用色彩空间跟踪对象以及如何使用背景减法来跟踪对象。

之后我们将使用

OpenCV帧差分使用色彩空间跟踪对象使用背景减法跟踪对象使用

CAMShift

作为希望从本书的主题中变得清晰起来一般的人工智能尤其是机器学习是推动当今社会发生数字化转型的一些技术。

类似地即使他们使用不同的方法“查看”捕获图像并识别这些图像中包含的内容对于计算机来说也是最重要的以便创建数据集以馈入机器学习管道并从该数据中获取洞察力。

在这种情况下计算机就像人类的同类计算机一样需要能够在任何给定的每秒内提取千兆字节的数据分析这些数据并实时做出改变人生的决定。

125

无人驾驶技术只是图像识别的一种应用其应用几乎是无限的仅受我们的想象力限制。

Google

除其他功能外还提供功能您可以将图像用作输入而不是使用关键字作为输入并获取图像而

Google

考虑了图像识别的一些实际应用后让我们进入将要使用的包以亲自了解它。

OpenCV

如果我们有一个跑步者的视频我们可能想分析跑步者的跑步情况而不是背景图像。

有时候您会发现一个一次性的极客会在隐藏在这种背景下的电影中发现问题正如我们在《权力的游戏》的最新剧情中几次看到有人在背景中发现一杯星巴克但这是例外而不是规则。

当我们观看实时视频流时从该流捕获的连续帧之间的差异为我们提供了很多信息。

本节中的代码需要连接的摄像头因此请确保您的计算机上装有摄像头。

Python

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bEd2rIlr-1681568818808)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_18_01.png)]

1轮廓图像

通过过滤所有额外的不相关信息它允许系统中的其他算法更有效地处理图像中的相关信息因此可以更快地对任何潜在的危险做出反应。

这种过滤可能有用的另一个实例是加载视频的空间有限或成本高昂我们需要压缩图像并提高空间利用率。

我们将由读者提出其他可能有用的方案但希望我们能给您足够的灵感激发您的想象力和创造力。

通过帧差分获得的信息很有用但是我们将无法使用它构建健壮的跟踪器。

要构建健壮的对象跟踪器我们需要知道可以使用对象的哪些特征来精确跟踪它。

使用颜色空间跟踪对象

我们应该注意我们需要知道对象的颜色分布以便为阈值选择合适的范围。

Python

interpolationcv2.INTER_AREA)return

frame

cv2.medianBlur(img_bitwise_and,

显示输入和输出帧

提供给您的文件colorspaces.py中提供了完整的代码。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hm0VzIN1-1681568818808)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_18_02.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3DnrGKLo-1681568818808)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_18_03.png)]

3输出框架

如您在中看到的输出帧我们现在只在图像中看到一种颜色它对应于任何皮肤。

与上一节中看到的类似我们对图像进行了过滤以仅包含我们感兴趣的信息。

在这种情况下过滤是不同的但结果是事实是我们现在仅具有进一步处理图像所需的信息。

检测异常皮肤状况或变色。

仅在看到人的肤色时才会打开的安全系统。

您还能想到其他一些应用吗

背景减法是一种技术它对给定视频中的背景进行建模然后使用该模型来检测运动对象。

该算法的基本原理是检测背景为其建立模型然后从当前帧中减去背景以获得前景。

我们正在对背景进行建模并实时更新这使其成为一种自适应算法可以适应不断变化的基线。

Python

interpolationcv2.INTER_AREA)return

frame

cv2.createBackgroundSubtractorMOG2()

Define

完整代码在提供给您的文件background_subtraction.py中给出。

如果四处走动您将部分看到自己如下所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BxjcI5zi-1681568818808)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_18_04.png)]

4背景减影

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-neH7E4tG-1681568818809)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_18_05.png)]

5背景减影

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yJM8lDxp-1681568818809)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_18_06.png)]

6背景减影

看着一个小时或几个小时的镜头对准空旷的停车场可能比看着油漆枯燥更无聊但是如果安全系统足够智能可以在车架发生运动时进行记录我们将能够辨别出“有趣的东西”。

基于颜色空间的跟踪允许我们跟踪有色对象但是我们必须首先定义颜色。

让我们看看如何在实时视频中选择一个对象然后使用一个可以跟踪它的跟踪器。

CAMShift

我们要跟踪该对象因此在其周围绘制了一个粗糙的边界这就是感兴趣的区域所指的区域。

因此此算法称为均值平移因为均值即质心一直在移动我们使用此跟踪对象。

让我们看看这与

cv2.EVENT_LBUTTONDOWN:self.drag_start

(x,

如果选择完成则设置标志指​​示我们应该开始跟踪矩形区域内的对象

else:#

trackerObjectTracker().start_tracking()

该图像将如下所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yd1Yne08-1681568818809)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_18_07.png)]

7物体检测图像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-365Ldw7J-1681568818809)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_18_08.png)]

8物体检测图像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ylcmADbV-1681568818809)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_18_09.png)]

9物体检测图

希望到现在为止您已经看到了图像识别的许多应用的可能性并且可能已经提出了关于如何应用到目前为止所学知识的自己的想法。

他们使用的技术可能比我们在本章中使用的技术要复杂一些但是概念并没有什么不同。

NFL

码标记而美国职业棒球大联盟使用与我们在本节中学到的技术类似的技术来绘制打击区。

与我们在这里看到的最接近的示例是温网锦标赛用来确定网球着陆的位置并确定其进出的例子。

2020

多年来用计算机制作逼真的面孔非常困难但好莱坞及其特效艺术家终于破解了密码。

显然他们正在使用比本章将介绍的技术更复杂的技术但是光流技术是开始实现此功能的基础技术。

您必须能够在视频移动的任何时刻跟踪该人的脸然后才能在视频中更改该人的脸。

当我们在给定帧中检测到一组特征点时我们将计算位移向量以对其进行跟踪。

Lucas-Kanade

搜索区域大于3×3因为我们寻找一堆不同的3×3色块以获得与当前色块最接近的那个。

一旦获得该信息从当前补丁的中心点到前一帧中匹配的补丁的路径将成为运动向量。

Python

cv2.calcOpticalFlowPyrLK(prev_img,

current_img,

cv2.calcOpticalFlowPyrLK(current_img,

prev_img,

\feature_points_0_rev).reshape(-1,

2).max(-1)

tp[0]new_tracking_paths.append(tp)

Draw

np.zeros_like(frame_gray)mask[:]

255for

tracking_paths]:cv2.circle(mask,

(x,

使用内置函数以及遮罩最大拐角质量级别最小距离和块大小等参数计算要跟踪的良好特征

Compute

cv2.goodFeaturesToTrack(frame_gray,

mask

np.float32(feature_points).reshape(-1,

y)])

完整代码在提供给您的文件optical_flow.py中给出。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qn4xG1HT-1681568818810)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_18_10.png)]

10对象跟踪图像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x8BPQM4b-1681568818810)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_18_11.png)]

11对象跟踪图像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tDseRjrl-1681568818810)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_18_12.png)]

12对象跟踪图像

在本节中我们将看到如何自动来自动检测实时视频中人脸的位置并对其进行跟踪。

Haar

年在他们的标志性研究论文中首次提出了这种对象检测方法。

您可以在这里查看。

之所以相关是因为它帮助我们规避了构建具有较高准确率的单步分类器的过程。

Viola-Jones

为了构建用于检测人脸的机器学习系统我们首先需要构建特征提取器。

Haar

我们需要在多个尺度上计算这些求和和差异这使其成为计算密集型过程。

考虑下图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RPF2JXZX-1681568818810)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_18_13.png)]

13ABCD

如果要计算此图像中矩形ABCD的总和则无需遍历该矩形区域中的每个像素。

假设OC表示由矩形的左上角O和矩形的对角相对角点C形成的矩形区域。

ABCD

我们有效地做的是考虑一个较大的矩形其中O和C代表相对的对角线然后我们“切出”白色部分以仅留下蓝色区域。

Python

cv2.CascadeClassifier(haar_cascade_files/haarcascade_frontalface_default.xml

Check

face_cascade.detectMultiScale(gray,

1.3,

face_rects:cv2.rectangle(frame,

(x,y),

完整代码为提供给您的文件face_detector.py中提供的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3cg6476r-1681568818811)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_18_14.png)]

14人脸检测图像

从人脸检测我们将在下一部分中转到类似的概念“眼睛检测和跟踪”。

眼睛检测和跟踪

cv2.CascadeClassifier(haar_cascade_files/haarcascade_frontalface_default.xml)

eye_cascade

cv2.CascadeClassifier(haar_cascade_files/haarcascade_eye.xml)

Check

face_cascade.detectMultiScale(gray,

1.3,

eye_cascade.detectMultiScale(roi_gray)

在眼睛周围绘制圆圈并显示输出

完整代码在提供给您的文件eye_detector.py中给出。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-99rttC4N-1681568818811)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_18_15.png)]

15眼睛检测图像

窃听上一节中的想法我们可以使用在本节中学到的技术为电影或胡须或胡须等中的屏幕角色添加眼镜。

我想到的另一个应用是跟踪卡车驾驶员的眼睛并确定他们眨眼或闭上眼睛的速度以查看他们是否感到疲倦并要求他们可能是强迫他们翻身。

我们期待您的来信并结合您自己的想法学习如何应用本章中学到的技术。

Python

在下一章中我们将讨论人工神经网络并使用这些技术来构建光学字符识别引擎。

神经网络

我们将使用循环神经网络分析序列数据最后将使用神经网络构建光学字符识别引擎。

神经网络简介构建基于感知器的分类器构建单层神经网络构建多层神经网络构建向量量化器使用循环神经网络分析序列数据在光学字符识别OCR数据库中可视化字符构建光学字符识别OCR引擎

神经网络介绍

人工智能的基本前提之一是构建可以执行通常需要人类智能的任务的系统。

为什么不使用人脑模型来构建系统

神经网络的一个缺点是在将给定数据输入神经网络之前我们需要将其转换为数字格式。

为了理解这一过程让我们首先考虑如何构建神经网络然后如何训练神经网络。

建立神经网络

当我们看着一个盒子时大脑的第一部分可能会识别出简单的事物例如角落和边缘。

训练神经网络

如果我们在训练数据中具有M个不同的类则输出层将包含M个神经元。

一个简单的神经网络将由两层组成而一个深度神经网络将由许多层组成。

那么如何使用神经网络对数据进行分类呢

每个神经元都充当简单函数并且神经网络会自我训练直到误差降至某个阈值以下。

基于误差有多大神经网络会自行调整并重新训练直到其更接近可解度。

在本章中我们将使用名为

他们的发展基于圣地亚哥·拉蒙·卡哈尔和查尔斯·斯科特·谢灵顿爵士所做的神经系统工作。

拉蒙·卡哈尔Ramon

年的论文中进行的研究《神经活动固有的逻辑思想》描述了一种结构该结构借鉴了神经元的结构具有二进制阈值激活函数类似于一阶逻辑语句。

McCulloch

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ek6dKsnT-1681568818811)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_19_01.png)]

在后面的章节中我们将看到更复杂的示例以及神经网络的一些有趣应用。

让我们看看如何使用

从提供给您的文本文件data_perceptron.txt中加载输入数据。

每行包含用空格分隔的数字其中前两个数字是特征最后一个数字是标签

Load

np.loadtxt(data_perceptron.txt)

将文本分为数据点和标签

让我们定义一个具有两个输入神经元的感知器在其中为每个维度分配一个神经元。

Define

文件perceptron_classifier.py中提供了完整代码。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qt7EV2B2-1681568818811)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_19_02.png)]

2训练进度图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZiIem3e7-1681568818812)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_19_03.png)]

3训练误差图

我们可以从前面的屏幕截图中观察到在第四个周期结束时误差降至0这正是我们想要发生的情况。

构建单层神经网络

建立一个带有几个感知器的模型是一个好的开始它使我们对这个令人兴奋的概念有了基本的了解但是要真正解决问题这种简单的模型是不够的。

人脑大约有

我们不会建立具有这么多节点的神经网络但是这个数字使您了解解决复杂问题所需的方法。

在建立具有数十亿个节点的模型之前让我们进行下一步以建立具有单层的网络。

Python

我们将使用提供给您的文件data_simple_nn.txt中的输入数据。

为什么我们需要为标签分配两个数字

提取每个维度的最小值和最大值我们不需要像上一节中那样对其进行硬编码

Minimum

完整代码在文件simple_neural_network.py中给出。

第一个屏幕截图表示输入数据点

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g1dKixmh-1681568818812)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_19_04.png)]

4数据点图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Mvzf7L6o-1681568818812)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_19_05.png)]

5训练进度图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rosYawos-1681568818812)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_19_06.png)]

6训练周期

5”中看到的那样误差迅速开始减少这表明我们的训练有效地创造了越来越好的预测。

如果将这些测试数据点定位在

我们也不会在本节中谈到这一点但让我们朝着正确的方向迈出又一步。

这种类型的架构可产生更高的精度并且使我们能够解决更复杂更多样化的问题。

让我们看看如何使用

nn.sim(x_dense.reshape(x_dense.size,1)).reshape(x_dense.size)

plt.figure()

完整代码在文件multilayer_neural_network.py中给出。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xcTRG9ec-1681568818812)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_19_07.png)]

7输入数据图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y67V1cRM-1681568818813)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_19_08.png)]

8训练进度图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wW2c1Ipm-1681568818813)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_19_09.png)]

如果继续训练网络并减少误差您将看到预测输出将与输入曲线相匹配即使重新仍很准确。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bWb1vqUc-1681568818813)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_19_10.png)]

10训练周期

在前面的部分中我们学习了如何构建基本的神经网络以及对基础知识的牢固掌握和理解。

建立向量量化器

此技术通常用于多个领域例如语音/图像识别语义分析和图像/语音压缩。

1950

年代的贝尔实验室在那里进行了研究以使用离散化程序优化信号传输。

NeuroLabv0.3.5的某些问题运行以下代码将引发错误。

NeuroLab

包layer_out.np[w][n][st:i].fill(1.0)中net.py文件的

179

行更改为layer_out.np[w][n][int(st):int(i)].fill(1.0))应该可以解决此问题。

要求读者使用此替代方法直到在

从文件data_vector_quantization.txt加载输入数据。

Load

np.loadtxt(data_vector_quantization.txt)

将文本分为数据和标签

定义一个具有两层的神经网络其中输入层有10神经元输出层有4神经元

Define

nl.net.newlvq(nl.tool.minmax(data),

num_input_neurons,

如果运行代码将获得以下屏幕截图其中显示了输入数据点和集群之间的边界

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GXUGrmM6-1681568818813)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_19_11.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vUVO3Vg0-1681568818814)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_19_12.png)]

12训练周期

get_data(num_points_test)output

nn.sim(wave)plt.plot(amp.reshape(num_points_test

4))plt.plot(output.reshape(num_points_test

4))

resultsplt.subplot(211)plt.plot(error_progress)plt.xlabel(Number

(MSE))plt.subplot(212)plt.plot(amp.reshape(num_points

4))plt.plot(output.reshape(num_points

Predicted])

dataplt.figure()plt.subplot(211)visualize_output(nn,

82)plt.xlim([0,

300])plt.subplot(212)visualize_output(nn,

49)plt.xlim([0,

文件recurrent_neural_network.py中提供了完整代码。

第一个屏幕截图的上半部分显示了训练进度下半部分显示了叠加在输入波形顶部的预测输出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NyQEB8DP-1681568818814)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_19_13.png)]

13输出波形叠加在输入波形上方

以下屏幕截图的上半部分显示了即使我们增加了波形的长度神经网络也如何模拟波形。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PwqTa7KJ-1681568818814)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_19_14.png)]

14波形仿真图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CeuUXZZA-1681568818814)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_19_15.png)]

15训练周期

在下一部分中我们将通过研究光学字符识别来演示神经网络的实际应用。

将手写体转换为计算机字符一直是许多计算机科学家试图解决的基本问题但仍然难以捉摸。

为什么

我可能是错的但是我认为我们将找到一种治愈癌症的方法然后才能找到一种可靠的方法来使计算机识别医生的笔迹。

我们继续尝试解决此问题的原因是这是一个有价值的目标具有许多应用。

随着系统能够更好地识别他们的笔记他们将获得更多的精力来专注于实际治疗和帮助患者的精力而不再关注文书工作。

Python

完整代码在文件character_visualizer.py中给出。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wbldPbza-1681568818814)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_19_16.png)]

16字母

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uvvTucdx-1681568818815)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_19_17.png)]

17字母

我们刚刚想出了一种可视化数据集并验证我们的模型正在做出准确预测的方法。

构建光学字符识别引擎

现在我们已经学习了如何处理这些数据让我们使用神经网络构建光学字符识别系统。

Python

1))label[orig_labels.index(list_vals[1])]

提取字符向量并将其附加到主列表中

list_vals[start:end]])data.append(cur_char)

创建数据集后退出循环

np.array(labels).reshape(num_datapoints,

num_orig_labels)

range(num_test):print(\nOriginal:,

orig_labels[np.argmax(labels[i])])

print(Predicted:,

orig_labels[np.argmax(predicted_test[i])])

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TxoV75aa-1681568818815)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_19_18.png)]

18训练周期

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7KdkFZM7-1681568818815)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_19_19.png)]

19训练周期

正如我们在前面的屏幕截图中看到的我们的模型正确地选择了其中的三个。

我们让您看看它们是否可以通过更长的网络训练和调整模型的配置来获得更高的准确率和更好的结果。

希望本章使您对

在随后的章节中我们将回顾该技术的许多其他用例这些用例处于当前机器学习革命的最前沿。

将卷积神经网络用于深度学习

为嵌入了图像分类软件的无人机拍照它可以区分平民和敌方战斗人员。

CNN

中的层类型构建基于感知器的线性回归器使用单层神经网络构建图像分类器使用

CNN

我们将让您的想象力疯狂起来但是使用其中一些生成的“人类”在电影中出演肯定可以制作一部电影。

GAN

会创建伪造的入侵然后使用这些入侵来训练模型以识别这些威胁从而使我们能够阻止这些攻击的真实版本。

数据操作GAN

可用于“伪样式迁移”即在不完全修改示例的情况下修改示例的某些大小。

GAN

这是在麻省理工学院创建的唐纳德·特朗普总统形象之上插入尼古拉斯·凯奇的脸的例子

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RT43HQu0-1681568818815)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_20_01.png)]

1尼古拉斯·凯奇Nicolas

隐私作为其安全策略的的一部分许多公司希望将某些数据保密和保密。

GAN谷歌于

当我们在普通神经网络中使用时我们需要将输入数据转换为单个向量。

例如让我们考虑由256×256

将每个神经元连接到上一层中的每个神经元称为完全连通性显然不会起作用。

CNN

这与完全连接层形成对比在完全连接层中每个神经元都连接到上一层的所有神经元。

由于单个过滤器无法捕获图像的所有细微差别因此我们多次执行M以确保捕获所有细节。

如果查看这些过滤器的输出我们可以看到它们提取了诸如边角等特征。

CNN

随着我们在网络的层中的进展我们将看到后面的层提取更高级别的特征。

CNN

像任何其他神经网络一样它为图像中的元素分配权重和偏差并能够将这些元素彼此区分开。

与其他分类模型相比CNN

架构的基本形式可以与人脑中的神经元和树突进行比较并从视觉皮层中汲取灵感。

CNN

然后我们可以将这个扁平化的图像用作基于感知器的神经网络的输入。

当使用基本的二进制黑白输入时此方法在执行类的预测时可能会显示平均精度得分但对于涉及像素始终的复杂图像该方法几乎没有准确率。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bshS469L-1681568818816)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_20_02.png)]

2菱形

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2d0i50wO-1681568818816)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_20_03.png)]

3菱形但变平

架构在数据集上表现更好这是因为参数数量减少了并且权重得到了重用。

现在我们对

需要这一层来为网络增加非线性以便可以很好地推广到任何类型的函数。

最大池化通常在池化层中使用我们在给定的KxK窗口中选择最大值。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HWFkVzSy-1681568818816)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_20_04.png)]

4CNN

当我们从网络中的输入层到输出层时输入图像就从像素值转换为最终的类别分数。

已经为

模型的准确率和鲁棒性取决于许多因素-层的类型网络的深度网络内各种类型的层的排列为每个层选择的函数训练数据等等。

基于感知器建立线性回归器

在前面的章节中我们已经看到了线性回归但是本节是关于使用神经网络方法构建线性回归模型的。

我们将在本章中使用

tf.Variable(tf.random_uniform([1],

-1.0,

tf.train.GradientDescentOptimizer(0.5)

train

完整代码在文件linear_regression.py中给出。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1kIXrMkG-1681568818816)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_20_05.png)]

5输入数据图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-18aED86J-1681568818816)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_20_06.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oUfXPX78-1681568818817)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_20_07.png)]

让我们关闭此窗口然后继续迭代

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oHJ9BhyC-1681568818817)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_20_08.png)]

第八次迭代如下所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IcZmj5Ob-1681568818817)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_20_09.png)]

然后您应该将其打印出来

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nIk4tVHX-1681568818817)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_20_10.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4EamiHT9-1681568818817)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_20_11.png)]

我们可以看到w和b的值是如何不断调整的我们还可以看到损失如何持续减小直到损失很小的程度以至于我们不再看到它减小。

有趣的是我们能够很快取得良好的结果但是我们为我们的网络解决了一个相当简单的问题。

使用单层神经网络构建图像分类器

tensorflow.examples.tutorials.mnist

import

input_data.read_data_sets(./mnist_data,

one_hotTrue)

tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logitsy,

labelsy_loss))

tf.train.GradientDescentOptimizer(0.5).minimize(loss)

初始化所有变量

我们将使用批量进行训练在该批量中我们在当前批量上运行优化器然后继续进行下一个批量以进行下一次迭代。

Start

mnist.train.next_batch(batch_size)

在这批图像上运行优化器

tf.reduce_mean(tf.cast(predicted,

tf.float32))

如果运行代码它将把数据下载到当前文件夹中名为mnist_data的文件夹中。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FrNR0IsL-1681568818818)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_20_12.png)]

12精度输出

tensorflow.examples.tutorials.mnist

import

input_data.read_data_sets(args.input_dir,

one_hotTrue)

tf.nn.relu(convolution_2d(x_image,

W_conv1)

将上一层的输出与在上一步中计算的权重张量进行卷积然后向其添加偏差张量。

然后我们需要将

tf.nn.relu(convolution_2d(h_pool1,

W_conv2)

将上一层的输出与完全连接的层的权重张量相乘然后向其添加偏置张量。

然后我们将

tf.nn.relu(tf.matmul(h_pool2_flat,

W_fc1)

tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(y_conv,

y_loss))

tf.train.AdamOptimizer(1e-4).minimize(loss)

Define

tf.reduce_mean(tf.cast(predicted,

tf.float32))

mnist.train.next_batch(batch_size)

每50次迭代打印一次精度进度

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c4lOaL70-1681568818818)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_20_13.png)]

13精度输出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w89RfP9u-1681568818818)(https://gitcode.net/apachecn/apachecn-dl-zh/-/raw/master/docs/ai-py/img/B15441_20_14.png)]

14精度输出

现在我们有了的输出我们可以看到的卷积神经网络的准确率比简单的神经网络要高得多。

与上一节中未使用



SEO优化服务概述

作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。

百度官方合作伙伴 白帽SEO技术 数据驱动优化 效果长期稳定

SEO优化核心服务

网站技术SEO

  • 网站结构优化 - 提升网站爬虫可访问性
  • 页面速度优化 - 缩短加载时间,提高用户体验
  • 移动端适配 - 确保移动设备友好性
  • HTTPS安全协议 - 提升网站安全性与信任度
  • 结构化数据标记 - 增强搜索结果显示效果

内容优化服务

  • 关键词研究与布局 - 精准定位目标关键词
  • 高质量内容创作 - 原创、专业、有价值的内容
  • Meta标签优化 - 提升点击率和相关性
  • 内容更新策略 - 保持网站内容新鲜度
  • 多媒体内容优化 - 图片、视频SEO优化

外链建设策略

  • 高质量外链获取 - 权威网站链接建设
  • 品牌提及监控 - 追踪品牌在线曝光
  • 行业目录提交 - 提升网站基础权威
  • 社交媒体整合 - 增强内容传播力
  • 链接质量分析 - 避免低质量链接风险

SEO服务方案对比

服务项目 基础套餐 标准套餐 高级定制
关键词优化数量 10-20个核心词 30-50个核心词+长尾词 80-150个全方位覆盖
内容优化 基础页面优化 全站内容优化+每月5篇原创 个性化内容策略+每月15篇原创
技术SEO 基本技术检查 全面技术优化+移动适配 深度技术重构+性能优化
外链建设 每月5-10条 每月20-30条高质量外链 每月50+条多渠道外链
数据报告 月度基础报告 双周详细报告+分析 每周深度报告+策略调整
效果保障 3-6个月见效 2-4个月见效 1-3个月快速见效

SEO优化实施流程

我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:

1

网站诊断分析

全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。

2

关键词策略制定

基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。

3

技术优化实施

解决网站技术问题,优化网站结构,提升页面速度和移动端体验。

4

内容优化建设

创作高质量原创内容,优化现有页面,建立内容更新机制。

5

外链建设推广

获取高质量外部链接,建立品牌在线影响力,提升网站权威度。

6

数据监控调整

持续监控排名、流量和转化数据,根据效果调整优化策略。

SEO优化常见问题

SEO优化一般需要多长时间才能看到效果?
SEO是一个渐进的过程,通常需要3-6个月才能看到明显效果。具体时间取决于网站现状、竞争程度和优化强度。我们的标准套餐一般在2-4个月内开始显现效果,高级定制方案可能在1-3个月内就能看到初步成果。
你们使用白帽SEO技术还是黑帽技术?
我们始终坚持使用白帽SEO技术,遵循搜索引擎的官方指南。我们的优化策略注重长期效果和可持续性,绝不使用任何可能导致网站被惩罚的违规手段。作为百度官方合作伙伴,我们承诺提供安全、合规的SEO服务。
SEO优化后效果能持续多久?
通过我们的白帽SEO策略获得的排名和流量具有长期稳定性。一旦网站达到理想排名,只需适当的维护和更新,效果可以持续数年。我们提供优化后维护服务,确保您的网站长期保持竞争优势。
你们提供SEO优化效果保障吗?
我们提供基于数据的SEO效果承诺。根据服务套餐不同,我们承诺在约定时间内将核心关键词优化到指定排名位置,或实现约定的自然流量增长目标。所有承诺都会在服务合同中明确约定,并提供详细的KPI衡量标准。

SEO优化效果数据

基于我们服务的客户数据统计,平均优化效果如下:

+85%
自然搜索流量提升
+120%
关键词排名数量
+60%
网站转化率提升
3-6月
平均见效周期

行业案例 - 制造业

  • 优化前:日均自然流量120,核心词无排名
  • 优化6个月后:日均自然流量950,15个核心词首页排名
  • 效果提升:流量增长692%,询盘量增加320%

行业案例 - 电商

  • 优化前:月均自然订单50单,转化率1.2%
  • 优化4个月后:月均自然订单210单,转化率2.8%
  • 效果提升:订单增长320%,转化率提升133%

行业案例 - 教育

  • 优化前:月均咨询量35个,主要依赖付费广告
  • 优化5个月后:月均咨询量180个,自然流量占比65%
  • 效果提升:咨询量增长414%,营销成本降低57%

为什么选择我们的SEO服务

专业团队

  • 10年以上SEO经验专家带队
  • 百度、Google认证工程师
  • 内容创作、技术开发、数据分析多领域团队
  • 持续培训保持技术领先

数据驱动

  • 自主研发SEO分析工具
  • 实时排名监控系统
  • 竞争对手深度分析
  • 效果可视化报告

透明合作

  • 清晰的服务内容和价格
  • 定期进展汇报和沟通
  • 效果数据实时可查
  • 灵活的合同条款

我们的SEO服务理念

我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。

提交需求或反馈

Demand feedback