精华内容
下载资源
问答
  • Windows-Python在命令提示符下不起作用?我在命令行中键入python,但是命令提示符说python识别为内部或外部命令,可操作程序或批处理文件。 我该怎么办?注意:我已经在计算机上安装了Python 2.7和Python 3.2。...

    Windows-Python在命令提示符下不起作用?

    我在命令行中键入python,但是命令提示符说python不被识别为内部或外部命令,可操作程序或批处理文件。 我该怎么办?

    注意:我已经在计算机上安装了Python 2.7和Python 3.2。

    17个解决方案

    52 votes

    终于成功了!!!

    我需要做一些事情才能使其正常工作

    将C:\ Python27 \添加到PATH系统变量的末尾

    将C:\ Python27 \添加到PYTHONPATH系统变量的末尾

    我必须将它们添加到两者中才能正常工作。

    如果我添加了任何子目录,则由于某种原因它不起作用。

    谢谢大家的答复。

    Rohit Rayudu answered 2020-07-20T09:14:31Z

    32 votes

    该视频非常有用。

    转到系统属性->高级(或在开始菜单。)

    点击环境变量

    编辑“ PATH”变量

    添加2个新路径'C:\ Python27'和'C:\ Python27 \ scripts'

    再次运行cmd并键入python。

    它对我有用

    Kazim Homayee answered 2020-07-20T09:15:17Z

    26 votes

    我已经从Windows版本安装了最新的Win10 Python。仅在python中输入%USERPROFILE%\AppData\Local\Programs\Python\Python36即可启动Python。

    Microsoft Windows [Version 10.0.15048]

    (c) 2017 Microsoft Corporation. All rights reserved.

    C:\Users\sg7>py

    Python 3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32

    Type "help", "copyright", "credits" or "license" for more information.

    >>>`enter code here`

    测试:

    >>> print("hello!")

    hello!

    >>>

    请注意,在我的情况下,Python已安装在%USERPROFILE%\AppData\Local\Programs\Python\Python36目录中

    C:\Users\sg7\AppData\Local\Programs\Python\Python36>dir

    Volume in drive C is Windows7_OS

    Volume Serial Number is 1226-12D1

    Directory of C:\Users\sg7\AppData\Local\Programs\Python\Python36

    08/05/2018 07:38 AM

    08/05/2018 07:38 AM

    12/18/2017 09:12 AM

    12/18/2017 09:12 AM

    12/18/2017 09:12 AM

    12/18/2017 09:12 AM

    12/18/2017 09:12 AM

    10/03/2017 07:17 PM 30,334 LICENSE.txt

    10/03/2017 07:17 PM 362,094 NEWS.txt

    10/03/2017 07:15 PM 100,504 python.exe

    10/03/2017 07:12 PM 58,520 python3.dll

    10/03/2017 07:12 PM 3,610,776 python36.dll

    10/03/2017 07:15 PM 98,968 pythonw.exe

    08/05/2018 07:38 AM 196,096 Removescons.exe

    08/05/2018 07:38 AM 26,563 scons-wininst.log

    08/05/2018 07:38 AM

    12/18/2017 09:12 AM

    12/18/2017 09:12 AM

    06/09/2016 11:53 PM 87,888 vcruntime140.dll

    9 File(s) 4,571,743 bytes

    10 Dir(s) 20,228,898,816 bytes free

    当我在%USERPROFILE%\AppData\Local\Programs\Python\Python36时,可以通过键入以下内容来调用目录级别pythonAppData\Local\Programs\Python\Python36\python

    C:\Users\samg>AppData\Local\Programs\Python\Python36\python

    Python 3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32

    Type "help", "copyright", "credits" or "license" for more information.

    >>>

    较新的Python 3.7将安装在:%USERPROFILE%\AppData\Local\Programs\Python\Python36

    如果愿意,可以添加到路径环境变量中:%USERPROFILE%\AppData\Local\Programs\Python\Python36

    sg7 answered 2020-07-20T09:15:59Z

    5 votes

    Kalle发布了指向该视频的页面的链接,但这是在XP上完成的。 如果您使用Windows 7:

    按Windows键。

    键入“系统环境”。 按回车。

    按下windows key + r

    Press windows key + r

    向右按,然后按windows key + r(这是一个分号)

    在不添加空格的情况下,在末尾键入以下内容:windows key + r

    按回车两次。 按esc。

    使用windows key + r调出运行对话框。 输入python,然后按Enter。

    Droogans answered 2020-07-20T09:17:50Z

    5 votes

    我可能是这里的新手,我花了六个小时才在Windows 8的命令行中运行python。安装完64位版本后,我将其卸载并替换为32位版本。 然后,我在这里尝试了大多数建议,特别是通过在系统变量中定义路径,但仍然没有用。

    然后我意识到在命令行输入:回声%路径%

    该路径仍未定向到C:\ python27。 因此,我只是重新启动了计算机,现在它可以工作了。

    Ocean Flyer answered 2020-07-20T09:18:19Z

    4 votes

    他们已经给我们一个脚本来为我们做到这一点

    C:\Users\hUTBER\AppData\Local\Programs\Python\tools\scripts\win_add2path.py

    您需要确保关闭并打开python,否则它将没有新的路径。

    如果找不到此脚本,则这些是它将添加的路径,最后我必须手动添加。

    C:\Users\hUTBER\AppData\Local\Programs\Python\Python35

    C:\Users\hUTBER\AppData\Local\Programs\Python\Python35\Scripts

    是我的,现在python在cmd中工作

    Jamie Hutber answered 2020-07-20T09:18:52Z

    3 votes

    您必须在SYSTEM PATH中添加python可执行文件,执行以下操作My Computer > Properties > Advanced System Settings > Environment Variables>然后在系统变量下创建一个名为“ PythonPath”的新变量。 在这个变量中,我有"C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\other-foolder-on-the-path"。

    enginefree answered 2020-07-20T09:19:13Z

    2 votes

    这是供使用共享他人的计算机的上班族使用的。

    我确实将用户路径放在path中,并在计算机的PATH变量中创建了PYTHONPATH变量。 它在Windows 7中的“计算机属性”->“高级设置”中的“环境变量”下列出。

    例:

    C:\ Users \ randuser \ AppData \ Local \ Programs \ Python \ Python37

    这样就可以使用命令提示符了。

    希望这会有所帮助。

    user10434881 answered 2020-07-20T09:19:56Z

    2 votes

    是否对编辑Path变量感到不安全? 是否担心此方法可能会随着新的Python版本而改变? 如果是这样,请执行以下操作:

    重新运行Python安装程序(例如,在Downloads中,python-3.7.2.exe)。 选择“修改”(添加或删除单个功能。)检查所需的所有可选功能(可能没有更改),然后单击[下一步]。 选中[x]“将Python添加到环境变量”,然后单击[安装]。

    打开一个新的cmd窗口,您应该已经开始营业了。

    circlepi314 answered 2020-07-20T09:20:26Z

    1 votes

    似乎在您的PATH中找不到python可执行文件,它定义了它在哪里寻找可执行文件。 有关如何在PATH中获取python可执行文件的说明,请参见官方说明。

    Carl Ekerot answered 2020-07-20T09:20:46Z

    1 votes

    将python bin目录添加到计算机的PATH变量中。 它在Windows 7中的“计算机属性->高级设置”中的“环境变量”下列出。对于Windows 8,应该相同。

    asheeshr answered 2020-07-20T09:21:06Z

    1 votes

    您需要将python添加到您的PATH中。 我可能是错的,但是Windows 7应该具有与Windows 8相同的cmd。请在命令行中尝试此操作。 永久使用c:\python27对您的PATH进行更改。 请注意,没有等号,并且使用引号。

    setx PATH "%PYTHONPATH%;C:\python27"

    从python键入命令提示符,将c:\python27设置为要运行的python版本的目录。

    Aesthete answered 2020-07-20T09:21:31Z

    1 votes

    只是一些评论:

    如果只想在cmd.exe上获取Python,请不要设置PATH。PATH环境变量会告诉Python在哪里寻找要导入的模块。 将其设置为virtualenv不会完成任何有用的操作,尽管它可能无害。

    从“编辑系统变量”修改环境变量(包括PATH)对已经运行的进程无效。 这意味着您必须重新启动cmd.exe才能使更改生效。 但是,不需要重新启动。

    修改PATH时,还要添加Scripts子目录。 或者,换句话说(并使用前面的示例):添加PATH。这将允许您从命令行运行诸如cmd.exe、PATH、virtualenv或sphinx之类的脚本-一旦安装,即已安装。 这与Windows中的UNIX-y差不多。 (N.B.在全新安装Python之后不存在Scripts子目录,但会在需要时创建。)

    不要在PATH上放置任何其他的PATH或cmd.exe目录。这是没有必要的,可能会造成危害。

    如果您安装了多个版本的Python(这并不是很常见),最好不要将它们中的任何一个放在PATH上,而是为不同的版本创建到cmd.exe的不同快捷方式,从而为每个版本设置PATH。 您可能也对PEP-397感兴趣。

    grainednoise answered 2020-07-20T09:22:15Z

    1 votes

    将python目录添加到路径时(计算机>属性>高级系统设置>高级>环境变量>系统变量>路径>编辑),请记住添加分号,然后确保在文件所在的位置添加精确的目录 存储“ python.exe”(例如,如果存储“ python.exe”的位置为C:\ Python \ Python27)。 然后重新启动命令提示符。

    cameronroytaylor answered 2020-07-20T09:22:35Z

    1 votes

    只需执行命令py。我在Windows 7上运行python 3.6.2,它工作得很好。

    我从系统目录中删除了所有python路径,并且在cmd中运行命令echo %path%时这些路径没有显示。 Python仍然可以正常工作。

    我在输入python时不小心按Enter遇到了这个问题...

    编辑:我没有提到我将python安装到自定义文件夹C:\ Python \

    YakovL answered 2020-07-20T09:23:09Z

    1 votes

    如果您正在使用命令提示符,并且即使在将python路径添加到系统变量PATH之后仍遇到问题。

    记住要重新启动命令提示符(cmde.exe)。

    Jerin answered 2020-07-20T09:23:33Z

    0 votes

    这些都不对我真正起作用。要真正在其路径中识别Python,您需要做的是仅从此网站而不是其他网站下载最新版本的Python:[https://www.python.org/downloads/]

    但是安装时要小心; 如果您使用的是Windows计算机,则默认安装设置为不将Python的路径添加到“控制面板”中的环境变量中,但是您应该更改该设置,以便安装进行安装,并且安装将全部由其完成。

    Joe Bang answered 2020-07-20T09:23:58Z

    展开全文
  • 我先将这个问题定义:机器学习在搜索引擎上的应用。 维基百科:搜索引擎(英语:search engine)是一种信息检索系统,旨在协助搜索存储在计算机系统中的信息。 1. 搜索引擎 我们先得明白搜索引擎都干了啥,然后...

    看完了西瓜书的第一章,课后习题有这个问题。我先将这个问题定义为:机器学习在搜索引擎上的应用

    维基百科:搜索引擎(英语:Search Engine)是一种信息检索系统,旨在协助搜索存储在计算机系统中的信息。

    1. 搜索引擎

    我们先得明白搜索引擎都干了啥,然后看哪些部分可以用机器学习来提高用户体验的,下图出自:第 1 章 搜索引擎是如何工作的

    构成搜索引擎的全部要素

    1、文档管理器:存储作为检索对象的文档。当查询到相匹配的文档时,会取出该文档的一部分作为摘要。
    2、索引构建器:从检索对象的文本文档中构建文本的索引。
    3、索引管理器:管理带有索引结构的数据,索引结构是一种用于进行高速检索的数据结构。
    4、索引检索器:利用用户的查询进行文本检索,并根据某种规则进行排序并将结果返回给应用。

    除了以上的组建除外,一个完整的搜索引擎还包括:爬虫、搜索排序系统。

    2. 机器学习对搜索引擎可进行哪些优化

    根据搜索引擎的结构,我们可以进行以下的机器学习优化

    1. 文档管理器:生成更精准的摘要。本质就是文档摘要的自动生成,涉及神经网络、NLP。
    2. 索引构建器:索引构建已很成熟,但我发现仍有学者将机器学习应用于这部分,主要是用机器学习算法代替标准哈希函数,但效果还不太好。
    3. 索引管理器:暂无。
    4. 索引检索器:这里涉及查询与文本间的匹配,以及搜索结果的排序,也是直接面向用户的部分。

    综上分析,我们主要来看索引检索器的部分,这部分可以有哪些优化呢:

    1. 搜索引擎直接给出搜索的答案:这里用到神经网络,它可以通过分析大量数据从而完成特定的任务,如从相关网页中获取长句子和段落,然后给出有关问题答案的信息。

    2. 直接进行图片、视频(等多元数据)的搜索:图片识别如今已经是常见的技术了,那直接从视频中提出信息呢?谷歌推出Video Intelligence API,不仅可以从视频中提取特定的信息,还能总结视频的脉络、记录视频中的场景,从而对视频进行准确的分类。

    3. 更精准的网页排序(也可成为「精准营销」的部分):如使用神经网络、决策树等为基础的网页排序算法:RankNet, LambdaRank 和 LambdaMART。2015年,谷歌推出RankBrain,它可以选择最适合当前搜索类型的结果,相当于为每个搜索都提供个性化的算法组合。

    4. 对用户行为进行综合分析(如历史搜索数据、点击模式、身份信息等进行结构化信息整合):更多使用在电子商务的搜索系统中。这在电商网站中的使用,应该是很流行的。

    5. 对话式智能交互搜索:如 Baidu 的语音搜索、利用 Siri 进行搜索又或者是 Google Assistant 等。涉及自然语言处理、知识图谱及神经网络等内容。

    1. 对垃圾网站和广告网页的筛选(模式识别):这部分可以用 Outlier 的检测来实现,尤其对以前的标题党,或者以前针对算法进行 SEO 的网站进行甄别。

    最理想的模型应该是:搜索引擎**成为一个具备不断自我学习和改善的系统。**也就是将机器学习应用于搜索引擎的所有方面,一个全自动化的搜索引擎系统。

    3. 目前的难点有哪些呢?

    1. 搜索引擎是否真正第理解自然语言查询词及文档的意义,还不得知。
    2. 仍需要大量的人工对相关数据进行标记,尤其需要大量的语言学家进行这方面的工作。
    3. 跨语言搜索精确度的问题,当然这部分也是机器学习能够改善的部分。
    4. 其他的自然语言遇到的问题,例如歧义等,讲到底还是语意的理解。

    推荐阅读如下:

    展开全文
  • 但是该领域的研究者也非常清楚,在现实环境中应用人脸识别系统,仅仅提升识别效率是远远不够的,决定一个人脸识别系统能力如何的另一项重要能力在于它对潜在攻击的抵御水平。 越来越多的研究表明,FR 系统会对一些...

    近几年,机器学习的安全问题逐渐被研究者们所重视。其中最热门的方向之一就是人脸对抗攻击。

    全球范围内,从社交媒体中的照片标记到自动边境控制 (ABC),人脸识别 (FR) 系统展示了出色的验证性能,证明这项技术适用于现实世界。但是该领域的研究者也非常清楚,在现实环境中应用人脸识别系统,仅仅提升识别效率是远远不够的,决定一个人脸识别系统能力如何的另一项重要能力在于它对潜在攻击的抵御水平。

    越来越多的研究表明,FR 系统会对一些难以察觉或可察觉但看起来很自然的对抗性输入图像有着相当的脆弱性,这些对抗性输入会导致模型的输出出现失误。与此同时,如何应对这些对抗性输入图像的解决方案也层出不穷。

    近日,biendata 平台邀请科大讯飞金牌讲师阿水,共同打造一门针对人脸识别的 AI 对抗攻防系列课程,主题囊括对抗样本介绍、人脸识别对抗样本、对抗防御、视频人脸检测与对抗防御等。

    除对抗攻防的知识讲解外,课程还设有实战项目演练:以时下两个热门的 AI 对抗主题的竞赛为案例,详细讲解赛题及 baseline 模型代码,让参与学习的同学能够学以致用,快速上手实战。

    其中一个比赛是【2021 OPPO 安全 AI 挑战赛】,目前正在招募选手,参赛详情见《60 万元总奖金:2021 “OPPO 安全 AI 挑战赛” 初赛正式启动,聚焦人脸识别攻防》;baseline 详情见《baseline 发布 | OPPO 安全 AI 挑战赛,人脸识别对抗攻击赛题详解》

    本文为第一讲课程演讲实录整理,点击文末 “阅读原文” 可获取视频,“数据实战派后台” 按指示可获取 ppt。获取代码、加入课程及竞赛讨论群可添加小助手。
    图片
    第一讲分享大纲如下:
    图片

    一、对抗样本介绍

    首先介绍对抗样本,其英文名字叫 Adversary Example 。这个概念在 2014 年由 Ian GoodFellow 提出来的,它是一个非常重要的深度学习的概念。

    那么,对抗样本到底是什么?

    对抗样本的定义是,在数据集中故意加入一些细微的干扰所形成的输入样本,它可以让样本针对我们的模型来输出错误的决策。

    可以看下图案例中,左边是一只猪的照片,对它加入了一个具体的、特定的噪音之后,就转变成了一个对抗样本。在此种情况下,我们的模型会对输出结果进行分类错误。
    图片然后,需要注意的是,对抗样本的产生最初是在深度学习模型中被提出来的,但是这个对象在非深度学习的场景下,也是可以解释得通的。

    在我们的日常生活中,在一个线性的决策空间中,对两类做具体划分(二分类)的情况下,是可以有一个超平面对这些点进行一个划分。这种情况下,利用不同颜色的点,不同元,一个圆圈一个叉,分别代表我们的两类样本。

    假如有一个超平面,能够把一个点分割开,那么这种情况下可能会有一些错误的样本出现。出现错误样本是很正常的,一张照片也不一定会对所有的样本识别正确。

    在一个线性模型里,或者说在 SVM 中,是有支持向量的。根据图进行解释,有一些样本它可能与我们的原始样本相差不大,但是模型就是会分类错误。

    为何我们提到线性模型?其实,神经网络是由很多层网络组成,它也都有线性的单元在里面。

    比如说 Relu ,或者 Maxout 这一类的激活函数,都是分段线性的,或者说 sigmoid ,也可以把它视为类似线性的。同样的还有 LSTM 。因此从这种基础的线性特性来解释对抗样本也是解释得通的。
    图片
    对抗样本有两个特点。

    第一, Transferability ,即对抗样本是可以迁移的。

    一个网络模型产生的对抗样本,可以在另一个网络模型上也起作用,也就是说,一个对抗样本能够让模型 a 误分类,它也可以让模型 b 误分类。

    这种情况下,模型 a 和模型 b 都是深度学习的神经网络,它们有可能是不同的网络结构,也可能训练的数据不同,但对抗样本的迁移性其实是非常好的。

    第二,在遇到一些对抗样本的时候,我们用肉眼来看似乎是没什么区别,但是这些细微的差别,足以让神经网络对它误分类。

    举一个很简单的例子,有一张飞机的照片,对这张照片加入了具体的项目速度上的扰动,然后让网络模型去做分类时,飞机就被误分类为鸟类,相当于类别变错了。

    在此种情况下,加的像素差异也不会特别大,这里用到产生对抗样本的方法,可能不是常规的方法,可能是 one pixel 的一些对抗样本的方法,这个地方改变了 5 个像素就能进行扰动。
    图片
    如下图所示,回到猪这张图片上来,这个地方再加入一个扰动之后,中间彩色的图,其实就是为了针对这个对抗样本进行可视化,把这个扰动放大了,就相当于在颜色空间上把它放大了,再加入这个非常小的扰动之后,肉眼基本看不出来任何区别。
    图片按照学术上的定义,对抗样本的定义见下图:
    在这里插入图片描述x 是原始的样本输入。需要注意的是,对抗样本原始的产生,或者是原始的一些相关内容都是视觉图片分类的任务。也就是说,原始的输入就是图片。

    δ 是一个扰动,这个扰动是范围非常小的。在这种情况下,应该尽可能让扰动加入到原始输入之后,首先要保证这个扰动足够小。

    其次就是要保证对抗样本能够让模型做 = 错误的分类。模型被输入具体的扰动之后,再进行正向传播,预测之后得到一个 t ,这个 t 可以理解为一个具体输出概率的向量,那么此处可以让这个 t 满足某个条件。

    假设 t 是一个最大概率对应的类别,而对抗样本是想要得到的一个类别,或者说想让 t 做一些相关的误分类操作。

    举一个例子,假设想有一个 x ,它分类的结果是 1 ,在加入一个扰动之后,想让分类结果变成 2 ,那么这里的本质就是改变了 t 作为最终的输出。

    因为 t 可以理解为最终在通过激活函数之后的输出概率向量,此种情况下,这个扰动要符合一定的规律,并不是完全没有限制的。这个原始输入的 x 在接上扰动之后,需要保证让它在一个固定的范围内的。如果是对于图片而言,需要让它保证在原始的 RGB 像素空间内,如果规划之后,仍然是要把它保存在从 0~1 的一个范围内,那它就没有超出颜色空间。

    在这种情况下,对抗样本或者叫对抗干扰需要得到一个较小的扰动,这个扰动能够让模型做完成后分类。扰动在加大原始输入的情况下,仍然能够保证它的范围是在合理的区间内,以上是对抗样本的定义。

    定义好了对应样本之后,接下来的一个关键问题就是,如何去找到扰动。

    虽然扰动在前面这些例子里看起来很简单,但其实,扰动并不是很容易就能够寻找得到。

    我们需要关注扰动的范围,或者说它的尺寸。由于扰动是加在图像输入上,这就说明,扰动的尺寸和原始输入图片的尺寸是是一致的。

    既然要一致,单个 t 可以区分定向和非定向攻击,假设这个对抗攻击是定向攻击的话,那么让它指定在对应类别上的一个概率最大即可。

    如果是不定向的,那么让它完成固定的误分类、随机一个误分类即可。那么这个扰动,它的范围是与原始输入匹配的,可以理解为这个扰动是需要搜索出来的。

    首先,对抗生成网络其实是一种生成模型。

    日常生活中存在很多判别模型和生成模型。判别模型需要对输入的 x 和它对应的标签做映射,生成模型可能需要生成一些对应指定的样本,它与常规的判别模型是存在差异的。

    一般情况下,对抗生成网络是由 generator 和 discriminator,即生成器和判别器所组成的,它采用博弈的思想来进行训练。对抗生成网络就是生成器和判别器博弈的过程。

    总的来看,对抗样本和对抗生成网络这两个研究方向有一些相似之处的,首先它们的提出者都是 Ian GoodFellow,其次,对抗样本和对抗生成网络也都是比较前沿的,它的研究领域主要都是跟深度学习相关的。但两者并不完全相同。

    在这里插入图片描述

    二、对抗样本的产生方法

    在这里插入图片描述
    对抗样本有一些具体的产生方法。

    首先是 L-BFGS。

    在指定一个优化具体的输入时,可以采用流动法进行计算模型的一阶导和二阶导来完成,这是一个具体的优化的过程。由于此前已经定义好了对抗样本的定义,那么就可以利用具体的优化过程,通过搜索得到对标。

    L-BFGS 是最早提出来的一类关于对抗样本的产生方法。

    上图公式中,l 是图片的类别,C 是代表深度的神经网络。其中一个方法就是需要让 l 和原始类别保持不一致,此时用 L-BFGS 来搜索得到一个近似解,那么它能够满足对抗的需要。L-BFGS 这个方法非常经典,但是缺点在于计算过程中需要消耗较大的时间,复杂度较高。

    第二种是由 Ian GoodFellow 提出来的方法 —— FGSM ( Fast Gradient Sign Method )。此时需要让样本做一个更新,这与深度学习模型的训练存在较大的差异。

    在训练一个网络模型时,如果是训练常规的 CNN 分类,写好 dataset 和 dataload ,随后输入数据来让它进行正向传播、计算模型的梯度,然后根据模型的梯度来调整模型的参数即可。

    而对抗样本其实是固定了一个模型,然后再去调整输入,这个输入相当于最终让模型误分类。

    FGSM 是一个非常经典的产生对抗样本的方法,在产生并继续优化神经网络时,大部分情况下都是用 mini batch 的 sgd ,按照一批量的梯度下降来进行完成的。

    通过一批量的数据和参数完成随机梯度下降,此时通过计算得到了样本在优化曲线上的技术方向。

    FGSM 的操作过程就是让一个模型完成梯度上升的过程,相当于一个梯度下降,让模型损失变低,梯度上升相当于让它增加对应的损失。

    这个可以根据自身的需要来进行定义,这里对输入进行求导即可求得 gradient 和它的 sign ,进行非常少的扰动,然后去更新输入的数据。

    FGSM 其实是一个在原始的内容提出的过程,是单步的,例如单次计算的过程可以把它推广成为多步的,更进一步也可以把它推广为 Fast Gradient L2 ,原始输入的扰动也可以把它作定制化,可以理解为让它做范数的处理。
    图片
    除了对抗样本的产生方法,还有一些较为重要的概念需要厘清。

    首先就是黑盒攻击和白盒攻击。黑盒攻击(Black-box of text),即在不知道目标攻击,特别是不知道目标想要攻击模型的梯度信息的情况下,需要基于此种条件去产生一些定量。

    白盒攻击,即知道攻击目标的一些梯度信息和输出的概率值,白盒攻击的难度会更低一点,因为已经知道需要攻击模型的一些细节。

    遇到黑盒攻击,一般情况下是训练一个替代模型,替代的模型是和目标模型是差不多的,然后利用替代模型去产生一些对抗,相当于按照把它转为白盒攻击的思路来去做。

    此种方法有较好的迁移性,如果在模型 a 上产生的对抗样本,往往在模型 b 上也能够起作用,那么可以找一个替代的模型去产生这些对抗样本,再去作为最终的攻击。
    图片FGSM 和 adversarial patch 其实是两类方法,定向攻击和不定向攻击,现在对抗样本的一些方法也有很多种类,有基于 greed ,有基于输出的概率值, score based ,或者 decision based 。在这种情况下,可以从基础学起。现在每年基本上都会有一些比较新的论文出来,部分新论文都是可能是对于一些基础方法的改进。

    三、对抗样本的具体类型

    在这里插入图片描述
    在此,我们总结一下对抗样本的定义,它是能够让模型进行误分类操作的样本;对抗样本跟原始的样本有相比较小的扰动;对抗样本可以有目标攻击也可以无目标攻击,只要让目标模型直接分类错误就行。不管最终类别是什么,只要不是原始的正确类别就行。

    有目标攻击就相当于有对应的类别,想要这个模型让对抗样本分类到具体哪一类。

    还有 Top-k 误分类攻击是想让模型输出的类别不在 Top-k 里,或者说 Top-k 类别之中不包含真实类别,还有置信度的攻击,可以理解为一些攻击的要求。

    在这里插入图片描述

    附:QA

    Q1: 对抗攻击的方法有分类介绍吗?

    A1: 有一些具体的 survey,或者说这些综述可以参考,包括基于白盒的定向的、基于图片的、 FGSM、还有 one pixel 方法的诸多综述。推荐一篇综述为 threat of adversarial attacks on deep learning in computer vision:a survey.

    Q2: 对抗样本在检测任务上和分类任务上有什么差异?

    A2: 还是不一样的,因为最终想要的结果是不一样的。从评价指标上来进行思考,也就是分类和检测的评价指标是不一样的,所以最终评价是不一样的,这就会导致产生样本的过程是不一样的。

    Q3: 生成对抗样本在保存是怎么解决精度和越界?

    一般而言,越界的话,就是要产生这个样本,要让它处于一个指定范围之内,在一个像素范围之内不要越界就行。

    精度方面,刚才所讲的代码,最开始的 FGSM 其实是一个白盒攻击,相当于知道攻击我们的目标模型的一些梯度信息,那么它能够成功攻击的概率也是很高的,最终的误分率概率是 96%。那么在这种情况下,再用一个新的模型去评价,它的精度肯定会更低一些。

    总而言之,第一讲的主要内容为对抗样本的入门级介绍,后续的讲解还将深入到【2021 OPPO 安全 AI 挑战赛】,金牌讲师手把手带你实战总奖金 60 万元的比赛,“数据实战派” 也将持续发布公开课实录,敬请期待!

    展开全文
  • 原标题:什么是图像识别?图像识别是如何实现的?图像识别是人工智能的一个重要领域,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术 ,并对质量佳的图像进行一系列的增强与...

    原标题:什么是图像识别?图像识别是如何实现的?

    图像识别是人工智能的一个重要领域,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术 ,并对质量不佳的图像进行一系列的增强与重建技术手段,从而有效改善图像质量。

    今天所指的图像识别并不仅仅是用人类的肉眼,而是借助计算机技术进行识别。虽然人类的识别能力很强大,但是对于高速发展的社会,人类自身识别能力已经满足不了我们的需求,于是就产生了基于计算机的图像识别技术。

    这就像人类研究生物细胞,完全靠肉眼观察细胞是不现实的,这样自然就产生了显微镜等用于精确观测的仪器。通常一个领域有固有技术无法解决的需求时,就会产生相应的新技术。图像识别技术也是如此,此技术的产生就是为了让计算机代替人类去处理大量的物理信息,解决人类无法识别或者识别率特别低的信息。

    一般工业使用中,采用工业相机拍摄图片,然后再利用软件根据图片灰阶差做进一步识别处理。随着计算机及信息技术的迅速发展,图像识别技术的应用逐渐扩大到诸多领域,尤其是在面部及指纹识别、卫星云图识别及临床医疗诊断等多个领域日益发挥着重要作用。

    通常图像识别技术主要是指采用计算机按照既定目标对捕获的系统前端图片进行处理,在日常生活中图像识别技术的应用也十分普遍,比如车牌捕捉、商品条码识别及手写识别等。随着该技术的逐渐发展并不断完善,未来将具有更加广泛的应用领域。

    e1a065e523f74a8fb4df202c2a99fb98.gif

    图像识别以开放API(Application Programming Interface,应用程序编程接口)的方式提供给用户,用户通过实时访问和调用API获取推理结果,帮助用户自动采集关键数据,打造智能化业务系统,提升业务效率。

    图像识别的发展经历了三个阶段:

    图像识别原理主要是需处理具有一定复杂性的信息,处理技术并不是随意出现在计算机中,结合计算机程序对相关内容模拟并予以实现。图像识别的过程归纳起来主要包括4个步骤:

    15857751886fe0c2b834953cc219346a.png

    信息预处理:主要是指采用去噪、变换及平滑等操作对图像进行处理,基于此使图像的重要特点提高。

    在计算机进行的图像识别中,计算机首先就能够完成图像分类并选出重要信息、排除冗余信息,根据这一分类计算机就能够结合自身记忆存储结合相关要求进行图像的识别,这一过程本身与人脑识别图像并不存在着本质差别。对于图像识别技术来说,其本身提取出的图像特征直接关系着图像识别能否取得较为满意的结果。

    值得注意的是,由于计算机归根结底不同于人类的大脑,所以计算机提取出的图像特征存在着不稳定性,这种不稳定性往往会因为计算机提取图像特征的明显与普通影响图像识别的效率与准确性,由此可见图像特征对于AI中图像识别技术的重要意义。

    计算机的图像识别技术就是模拟人类的图像识别过程,在图像识别的过程中进行模式识别是必不可少的。 简单地说,计算机的模式识别就是对数据进行分类,它是一门与数学紧密结合的科学,其中所用的思想大部分是概率与统计。模式识别主要分为三种:统计模式识别、句法模式识别、模糊模式识别。

    对于当下AI+时代的图像识别技术来说,神经网络的图像识别与非线性降维的图像识别是最为常见的两种图像识别技术。

    fb03b886b639f1522d322abda66d0b2a.png

    在AI领域之中,图像识别技术占据着极为重要的地位,而随着计算机技术与信息技术的不断发展,AI中的图像识别技术的应用范围不断扩展:IBM的Watson医疗诊断、各种指纹识别、及常用的支付宝的面部识别以及百度地图中全景卫星云图识别等都属于这一应用的典型,AI这一技术已经应用于日常生活之中,图像识别技术将来定会有着较为广泛的运用。

    移动互联网、智能手机以及社交网络的发展带来了海量图片信息,不受地域和语言限制的图片逐渐取代了繁琐而微妙的文字,成为了传词达意的主要媒介。但伴随着图片成为互联网中的主要信息载体,难题随之出现。

    当信息由文字记载时,我们可以通过关键词搜索轻易找到所需内容并进行任意编辑,而当信息是由图片记载时,我们却无法对图片中的内容进行检索,从而影响了我们从图片中找到关键内容的效率。图片给我们带来了快捷的信息记录和分享方式,却降低了我们的信息检索效率。在这个环境下,计算机的图像识别技术就显得尤为重要。

    51da1034b3ee5d3a5d28397988e5f396.png

    为什么有数十亿美元投入到这项技术?原因是图像识别潜力巨大。图像识别是一个非常抽象的领域。但是,当应用于具体情境时,其改变企业的潜力是无可辩驳的。图像识别技术,连接着机器和这个一无所知的世界,帮助它越发了解这个世界,并最终代替我们完成更多的任务。返回搜狐,查看更多

    责任编辑:

    展开全文
  • 图像识别方法

    2021-06-18 12:36:58
    图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。图像识别是人工智能的一个重要领域。主要的图像识别方法有基于神经网络的图像识别方法、基于小波矩的图像识别方法等。...
  • 步骤一 在项目根目录新建文件夹(webstorm.config.js)并加入以下内容 ...如果以上方法生效可以尝试步骤二 步骤二 在项目根目录新建文件夹(jsconfig.json)并加入以下内容 { "compilerOptions": { "target": "es6
  • python实现人脸识别

    千次阅读 2021-07-15 02:40:43
    文章目录python实现人脸识别前言一、项目介绍二、内容1.什么是人脸识别2.实现步骤 前言 让学生了解数字图像处理在人工智能方面的应用。通过一个人脸识别系统的开发,提高学生综合运用面向对象程序设计思想、数字...
  • 陈磊摘 要:在科学技术和人工智能技术飞速发展的背景下,模式识别被广泛应用在各大领域,这种技术的出现也人们生活和生产提供了极大的便利。基于此,本文结合理论与实践,在简要阐述人工智能概述的基础上,重点...
  • nohup为什么不起作用? 先来了解一下nohup nohup介绍 了解一下linux信号以及相关知识。 进程 进程组 会话 守护进程 孤儿进程 僵尸进程 信号 SIGHUP信号介绍 第一个问题: sighup信号是谁发的?为什么会发送sighup信号...
  • 人脸识别技术采取的人脸信息是具备唯一性的个人生物识别信息,在制度健全的情况下容易威胁公民个人的隐私。例如,2019年2月,深圳“AI+安防”公司因人脸识别数据库缺乏保护导致数据泄露,致使超过250万人的人脸...
  • $(document).delegate("#grid1", "iggriddatarendered", function (evt, ui) { $('.applyMultilineFormater').each(function () { $(this).html(M...
  • 【语音识别】语音识别技术入门

    千次阅读 2021-01-24 18:25:32
    语音识别入门什么是语音 什么是语音 语音是语言的声学表现形式,是人类自然的交流工具,例如语音通信、人机语音交互。 相关概念有: 声学Acoustics 音频Audio 语音Speech 音频 采样率、量化位数、通道数 16KHZ...
  • GPU在深度学习中究竟什么作用

    千次阅读 2021-01-30 11:21:36
    点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达 围绕深度学习的“噪声”经常误导外行人以为这是一种新发明的技术,使他们之一振的是当他们知道深度学习...
  • 到底什么是hash?它起什么作用

    千次阅读 2021-03-13 21:28:31
    从emule诞生到现在也已经有了两年左右时间了,随着...像bt那么容易上手,所以很多朋友很长时间以来一直都有这样或那样的疑问,今天是周末我也献献丑,写一篇关于hash的文章。大家天天都在使用emule,hash这个词是...
  • 难道是U盘设备坏了,但是在...2018-06-07 10:19:16我们都知道U盘的作用,方便携带,而且可以储存很多重要文件,但是有时候也会出现一些故障问题,这一位用户反馈说U盘插入电脑可以识别但是能读...
  • 人脸识别十大关键技术

    千次阅读 2021-02-08 17:55:00
    人脸识别十大关键技术 转载:https://zhuanlan.zhihu.com/p/61348453 1、人脸检测(FaceDetection) “人脸检测(FaceDetection)”的作用就是要检测出图像中人脸所在位置。人脸检测算法的原理简单来说是一个...
  • 课题研究背景2 图像预处理3 模式识别4识别效果5总结课题研究背景 近年来,人工神经网络技术取得了巨大的发展,它所具有的优势:固有的并行结构和并行处理、知识的分布存储、容错性、自适应性、模式识别能力,手写体...
  • 【原理+实战】AI所有领域SOTA综述 (一)语音识别

    千次阅读 多人点赞 2021-04-01 18:40:20
    文章目录前言语音识别原理信号处理,声学特征提取识别字符,组成文本声学模型语言模型词汇模型语音声学特征提取:MFCC和LogFBank算法的原理实战一 ASR语音识别模型系统的流程基于HTTP协议的API接口客户端未来实战二 ...
  • 学习 | 深度学习图像搜索与识别

    千次阅读 2021-05-31 00:10:21
    文末赠5本包邮以下内容节选自《深度学习图像搜索与识别(全彩)》一书!--正文--作为电商场景的以图搜图 App,拍立淘于2014年首次上线,现已经成为拥有数千万日活用户的应用。随着业务的发...
  • 人脸识别最全知识图谱

    千次阅读 2021-06-01 01:05:00
    根据中国报告网发布《2018 年中国生物识别市场分析报告-行业深度分析与发展前景预测》中内容,2017 年生物识别技术全球市场规模上升到了 172 亿美元,到 2020 年,预计全世界的生物识别市场规模有可能达到 240 亿...
  • CMS指纹识别

    2021-06-15 19:30:57
    什么是网站指纹 ...CMS是"Content Management System"的缩写,意"内容管理系统"。 内容管理系统是企业信息化建设和电子政务的新宠,也是一个相对较新的市场。 什么是web应用框架 Web应用框架(Web application
  • 这块就多逼逼了,按照官网的下载,能拿到一个EasyX_20190529(beta).exe的文件,或者其他的也可以 2.获取include包和lib包的内容 1. 将①文件夹下的两个文件复制粘贴到下面这个图的相应文件夹里 2. 将②文件夹下...
  • 基于MATLAB的战术手势识别功能的设计与实现摘 要手势识别技术是人们生活中常见的一类图像处理技术,也是目前比较火热的研究领域之一,手势识别可以用于人们生活中各种场景,比如利用手势进行电视信息交互,只需要...
  • 图像识别技术的应用及发展趋势

    千次阅读 2021-05-18 00:55:06
    点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达 本文转自|新机器视觉 图像识别技术的背景 移动互联网、智能手机以及社交网络的发展带来了海...
  • 基于MATLAB的车牌识别基本原理及算法讲解

    千次阅读 多人点赞 2021-08-05 21:16:57
    一:GUI界面预览 二:选择图片 ...  使用Rgb2gray函数将 RGB 图像或颜色图转换灰度图,图像预处理的第一步是图像灰度化处理。该步骤使图像占用空间减少。灰度化处理结束后输出灰度化图像与灰度直方图:
  • 番茄图像前期处理的主要作用是突出所需要的部分,消除掉需要的信息,提取感兴趣的区域。番茄图像的前期处理效果决定了番茄的识别效果,所以番茄图像的前期处理是非常关键的步骤。本章将会从番茄图像采集分类、空间...
  • MATLAB车道识别与交通标志识别研究内容车道特征检测:边缘提取,二值化车道线检测:霍夫变换交通标志检测:特征提取(边缘,颜色,形状,LBP) 交通标志识别:神经网络( LBP 指局部二值模式)研究了汽车辅助驾驶系统...
  • 语音识别 从入门到进阶 一 文末附项目/源码

    万次阅读 多人点赞 2021-07-11 20:35:37
    这两家企业在中国语音领域占用80+市场,所以他们做得很优秀,不过由于高精技术无法开源,其他企业只得花费大量的金钱去购买其API,而无法研究语音识别等应用,导致民间语音识别发展较慢,今天我们来一饱眼福吧!...
  • 点击上方“3D视觉工坊”,选择“星标”干货第一时间送达作者 |叶茫 武汉大学编辑 | CV君报道 |我爱计算机视觉(微信id:aicvml)摘要:行人重识别(Person Re-Id...
  • 摘要:本文主要介绍文字检测和文字识别作为...在我们生活当中,文字是无处不在的,我们的衣食住行都是离开它的。文字的价值首先,文字并非自然产生,而是人类特有的造物,是高层语义信息的载体。文字从整个文化...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 349,795
精华内容 139,918
关键字:

为什么内容识别不起作用