您的位置 首页 主动

搬迁学习:同享AI才智的途径

高焕堂  (台湾VR产业联盟主席,厦门VR/AR协会荣誉会长兼顾问)0 引言迁移学习(Transfer Learning)就像俗称的“拿来主义”,善用别人已经训练好模型的参数(智慧),引入到 自己的模

高焕堂  (台湾VR工业联盟主席,厦门VR/AR协会荣誉会长兼参谋)

0  导言 

搬迁学习(Transfer Learning)就像俗称的“拿来主义”,善用他人现已练习好模型的参数(才智),引进到 自己的模型里,能够敏捷树立1个AI的运用情境。本文 以ResNet50为例,阐明怎么复用(Reuse)现已练习好的 ResNet50的才智(模型和参数),帮您瞬间探究任何一张 图画的特征(Feature),然后帮您辨认出图片里的人或物 的品种,如水牛、斑马、猫头鹰或轿车等。

1  知道搬迁学习:以ResNet50为例 

AI的才智是来自机器的自我学习,通称为机器 学习。它常常需求凭借很多的数据来练习。例如, ResNet50就运用100多万张图画而练习出来的。在练习 的过程中,它去探究每张图画中的特称,并且学习概括 和分类。现在的ResNet50能够精确地辨认出1000种人 或物,如日常日子中常遇到的狗、猫、食物、轿车和各 种家居物品等。例如,您能够随意从百度图片上截取一 张224×224巨细的图片,如图1。

微信截图_20200306112121.png

当您把这图片提交给ResNet50,它会瞬间探 索并进行分类,然后告诉您:我猜测这是大熊猫(Giant panda)。

2  介绍ResNet50模型的结构 

现在最常见的AI图画辨认模型是:卷积网路(CNN) 模型。这ResNet50便是根据CNN的模型,如图2。

微信截图_20200306112148.png

其间,CNN模型包含两部分:卷积层(Convolution Layers)与全衔接层(Full-Connected Layers)。前者我特 别称之为丫鬟部分;而后者则称之为格格部分[1-2],如图3。

微信截图_20200306112207.png

Conv部分比较复杂,共约有40个层;而FC部分约 有10个层。所以称之为ResNet50模型。

3  复用ResNet50才智的办法 

典型的复用(Reuse)过程如下。

1)编撰Python程式来树立一个ResNet50模型。 您能够从网路下载此Python程式的源码来做修正。网址为:

https://github.com/fchollet/deep-learning-models/ releases/ 

如图4的绿色框部分:

微信截图_20200306112229.png

2)从网络下载现已练习好的模型参数(才智)。 例如,图4里的赤色框部分。包含2个档案(下文具体 阐明)。 

3)把所下载的模型参数档案内容载入您方才树立 的ResNet50模型里。 

经由这3个过程,就把他人现已练习(学习)好的模型 参数,顺畅地搬迁(Transfer)到您自己树立的模型里了。

4   新潮办法:运用Excel把ResNet50模型包装起来 

4.1 预备履行环境(不需求编程) 

运用Excel来包装Python程式,能够让许多不熟悉编 程者,来轻易地运用AI的各种运用情境。只需您的电 脑上装置有Excel和Python的相关套件(如TensorFlow、 Keras等)就能够履行根据Excel+Python的AI模板 (Template)了。至于这项履行环境的装置攻略,能够参 阅笔者的博客:https://www.cnblogs.com/SmartADT/。 

装置好了履行环境,就能够从上述网页里下载两个 模板:jjt18.zip,根据阐明文件复制到您的环境里,然 后就能够履行了。 4.2 开端履行jjt18模板 

首要,把这张图画放在图5里。

微信截图_20200306112245.png

预备把c:/oopc/im001pd.pg图画提交给ResNet50去探 索和分类。接着,请您敞开Python程式:jjt18.py。画面 上就呈现了预先写好的Python程式:

微信截图_20200306112306.png

然后履行这个程式,就呈现出Excel画面:

1583465140925483.png

请按下“Predict”按钮,这Excel背面的ResNet50就 打开瞬间探究这张像并进行分类,然后输出如下:

1583465157660442.png

它告诉您了:我猜测99%的可能性是大熊猫(Giant panda)。

5  仅复用丫鬟,练习自己的格格 

5.1 阐明 因为ResNet50是典型的CNN模型,包含卷积层与 FC层。在上一节里,运用Excel画面来操作ResNet50, 并复用了悉数(卷积层与FC层)的权重,就不用从头训 练,而直接用来区别图画里的东西。在本节里,就来介 绍另一种用法:只复用它的卷积层(丫鬟)部分,而不复 用FC层(格格)部分的权重。也便是,要自己来练习FC层 (格格)部分。 

在CNN 模型(如ResNet50)里,丫鬟部分担任探究像 的特征,然后把这些特征值交给格格,让格格(根据特 征值)来分辩出品种。例如,丫鬟看到一张图片里的动 物特征是:身体是非条纹、4只脚,然后格格就根据这 特征而判别这很可能是一匹斑马。 

尽管ResNet50里的格格现已有才智来进行图画分类 (Classification)了,并且能够辨识1000种日常日子中的 人或物。可是,在一些较狭隘的运用场域里,只需求 (更精确)辨识较少的品种时,就需求练习自己的格格。 

方才提到了,有些场合需求从头练习格格来分类, 可是丫鬟具有的探究像特征的才智,却能够复用之。亦即,能凭借于ResNet50的丫鬟(即卷积部分)的才智,帮 忙探究我的图片,来帮忙练习新的格格。一旦新格格训 练好了之后,ResNet50原有的丫鬟就能和新格格协同合 作,来更精确地区别特定的数据(图片)集了。因为不用 从头练习丫鬟部分,就能节省许多练习(丫鬟的)时刻。 

5.2 预备数据,来练习新格格 

兹拿一个较狭小的运用场域,只需求格格来分辩 3个品种:斑马、猫头鹰和蘑菇。所以,笔者在/oopc/ v_data/train/文件夹里,预备了150张图片(皆为224 x 224),包含50张斑马、50张猫头鹰、以及50张蘑菇的图 片。将它们别离放在这3个小文件夹里:

微信截图_20200306112411.png

例如,其间的/Zebra/小文件夹里有50张图片,如图 6里。

1583465202717425.png

亦即,在/v_data/train/里共有150张图片,分为3 品种(Classes)。接下来,就拿3类的图画来练习自己的 格格。所以,持续运用jjt18模板,履行jjt18.py呈现出 <作业表2”的画面,并按下<Train”按钮,就打开训 练了:

1583465225911570.png

大约经过5分钟,就可练习结束了。接着点选“工 作表3”,并按下“Show”按钮,就显示出一张图片, 如下图。

微信截图_20200306112637.png

接着,按下“Predict”,就把这张图片提交给 ResNet50去辨认。此刻,就先由(ResNet50原有的)丫鬟 先去探究这张图片的特征,然后把特征值转交给新格格 去分类。最后由格格输出成果如图7。

6  结语 

本文是以ResNet50为例,阐明怎么凭借ResNet50已 经练习好的才智去辨认五花八门的图画。此外,还能够 复用ResNet50里的丫鬟才智,调配自己的图片集,来训 练自己的新格格,更新了ResNet50的才智。 

跟着AI的运用领域愈来愈多,除了ResNet50之外, 您还能够经过本文所介绍的“搬迁学习”途径来同享更 多的AI模型和才智。

微信截图_20200306112700.png

参考文献: 

[1] 高焕堂.学AI之路,从探究特征动身[J].电子产品世界, 2019(11):81-84. 

[2] 高焕堂.迈向AI与IC工业结合之路——从AI神鹰规划形式谈起 [J].电子产品世界,2019(12):78-80.

本文来源于科技期刊《电子产品世界》2020年第03期第85页,欢迎您写论文时引证,并注明出处。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/zhudong/124875.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部