新闻中心

首页 > 设计应用 > 迁移学习:共享AI智慧的途径

迁移学习:共享AI智慧的途径

作者:高焕堂时间:2020-03-03来源:电子产品世界澳门太阳城娱乐开户登入

高焕堂? (台湾VR产业联盟主席,厦门VR/AR协会荣誉会长兼顾问)

本文引用地址:http://amtycylkhdr.238pt.com/article/202003/410498.htm

0  引言 

迁移学习(Transfer Learning)就像俗称的“拿来主义”,善用别人已经训练好模型的参数(智慧),引入到 自己的模型里,可以迅速建立1个的应用情境。本文 以ResNet50为例,说明如何复用(Reuse)已经训练好的 ResNet50的智慧(模型和参数),帮您瞬间探索任何一张 图像的特征(Feature),然后帮您识别出图片里的人或物 的种类,如水牛、斑马、猫头鹰或汽车等。

1  认识迁移学习:以ResNet50为例 

的智慧是来自机器的自我学习,通称为机器 学习。它经常需要借助大量的数据来训练。例如, ResNet50就使用100多万张图像而训练出来的。在训练 的过程中,它去探索每张图像中的特称,并且学习归纳 和分类。目前的ResNet50可以准确地识别出1000种人 或物,如日常生活中常遇到的狗、猫、食物、汽车和各 种家居物品等。例如,您可以随意从百度图片上截取一 张224x224大小的图片,如图1。

微信截图_20200306112121.png

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

2  介绍ResNet50模型的结构 

目前最常见的图像识别模型是:卷积网路(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页,欢迎您写论文时引用,并注明出处。



关键词: 202003 AI 人工智能

评论


相关推荐

技术专区

关闭
网站地图 菲律宾申博免费试玩登入 澳门太阳城游戏登入 菲律宾申博亚洲娱乐登入
申博亚洲66788 申博太阳城备用网址 澳门斗牛娱乐登陆 申博娱乐客服
百利宫娱乐备用网址 好彩客新加坡2分彩 完美世界游戏平台 gt彩票手机网页直营网
菲律宾申博代理开户合作登入 菲律宾申博娱乐139777官网登入 澳门太阳城娱乐网登入 菲律宾申博国际开户登入
菲律宾申博开户优惠登入 澳门太阳城suncity登入 澳门太阳城下载登入 菲律宾申博官方直属现金网登入
qk138.com 8BAS.COM 175SUN.COM 538XTD.COM 9927w.com
XSB593.COM 9999ib.com ib64.com 132sun.com 578XTD.COM
98csb.com 23jbs.com 388BBIN.COM DC295.COM 77TGP.COM
538sj.com 868XTD.COM XSB318.COM 315ib.com 100xsb.com