pb代码graph 曲线图_写给医生的人工智能体验课(六):零代码!10分钟带你做出自己的AI识别医学图像...

人工智能和大数据结合的系列课程我们已经出了五期,大家可以直接点击下方题目查看:

1、写给医生的人工智能体验课(一):作为医生,怎么跟进人工智能不落伍?

2、写给医生的人工智能体验课(二):用比喻的方式形象讲解神经网络

3、写给医生的人工智能体验课(三):利用SPSS、R、python建立简单的神经网络

4、写给医生的人工智能体验课(四):基于scikit-learn识别导入的图像

5、写给医生的人工智能体验课(五):基于TensorFlow识别MNIST手写数字

今天我们讲解第六课零代码!10分钟带你做出自己的AI识别医学图像

想要课程代码的小伙伴,可点击文末的链接获取。

前面的几节课我们对医咖会原有的肺癌表格集建立了简单的神经网络分析,对MNIST手写数字图片也用了scikit-learn和TensorFlow建立了一些稍复杂的神经网络。这节课我们尝试利用一些少量的病理图片训练一个视觉识别模型,掌握这个套路后,大家也可以尝试用一些简单的图片搭建自己的视觉识别模型,把想要训练的图片在对应的文件夹替换就可以了。这次推文比较短,我们不再讲具体的代码,先简单了解一下迁移学习Inception V3这两个概念。

迁移学习

我们上节课的MNIST数据集有6万张图片,用TensorFlow建立的卷积神经网络识别准确率达到99%以上,但是现实世界我们通常会有这样的困境

①数据量少;如果我们开展某类医学图像识别的研究,很难通过单中心搜集到上万级别的图片数据;

②不知道怎么构建性能优异的深度神经网络;上节课的卷积神经网络只有两层,那是因为数据图片非常简单,如果需要识别的图片更复杂,分类更多,这么简单的神经网络效果肯定不好。

面对这两个问题,目前业界针对小数据集进行卷积神经网络训练提出的主流方式是迁移学习。简单理解就是,我们找到一个别人早已搭建好的权威的深度神经网络模型,这个模型可能有几十甚至几百层隐藏层,前期已经使用大数据集完成了模型训练,大部分参数已经训练好了。我们使用训练好的参数对小样本进行参数微调,这样使得最终训练出来的模型具有小数据集和高精度的双重优势。

Inception V3

这样已经训练好的神经网络有很多,其中Inception V3是很常用的一个,它的诞生是个有趣的故事。说起Inception V3就不能不提ImageNet这个比赛。深度学习发展起来有几个关键的因素,一个就是庞大的数据(比如说ImageNet),一个是GPU的出现。

为了推动计算机视觉识别技术的发展,斯坦福的李飞飞团队从2007年开始,耗费大量人力,通过各种方式(网络抓取,人工标注,亚马逊众包平台)收集各种类别的图片,制作成ImageNet数据集。截至 2016 年,ImageNet 中含有超过 1500 万由人手工注释的图片网址,也就是带标签的图片,标签说明了图片中的内容,超过 2.2 万个类别。

在2010年开始,学术界展开了基于ImageNet的计算机视觉识别技术竞赛(ILSVRC)。大家有兴趣进一步了解背景知识可以看李飞飞教授在TED的演讲:https://www.ted.com/talks/fei_fei_li_how_we_re_teaching_computers_to_understand_pictures/transcript?language=zh-cn#t-5787

在开始的时候,大家采用传统的机器学习方法,错误率高达28.2%,后来人们开始建立更复杂的深度卷积网络,错误率开始显著降低。其中2014年的冠军GoogleNet在之后不断升级,演变成今日的Inception模型,复杂程度也进一步提高。我们后面要用的是Inception V3模型,里面的详细结构需要一定基础才能理解,不是本次课的内容,我们只需要了解怎么调用这个黑箱,做一个调包侠就好。

4429a0604dbd4a87fb2c24bc021eb11e.png

ILSVRC比赛历年模型

be634be2abf411cab88508ae299efd00.png

Inception V3结构

下载的资料介绍

下载推文附带的压缩文件,解压后可以看到下面的几个文件及文件夹。bottleneck是一个空的文件夹,存放下一步重新训练模型后新的参数。data文件夹下面又有三个文件夹分别是boundary、cancerous、normal,里面有三种不同类型的病理图片,作为训练集。

images下面是两张需要最后测试的图片,作为测试集。这些图片是我在网上下载的,数据量比较小,我们这次的任务目标是建立一个视觉识别模型,看看对最后两张的测试图片预测准确率怎么样。inception_model下面是官网下载的inception V3模块。retrain.bat是脚本文件,双击后会自动运行一系列的操作。用notepad++程序打开它,会看到相应细节。retrain.py是官网的训练代码,里面的内容比较多,不需要打开,也不需要修改。最后一个ipynb文件是训练好模型后做预测用。

e8a7c4a7bdb39a7681b53b7780fa9033.png

解压后文件

b92ac5525996b25768c65f7160330aab.png

retrain.bat文件内容及注释

运行前请先确保TensorFlow的模块以及安装好,具体方法较简单,请自行网上搜索。我们下一步双击retrain.bat文件,就会自动训练data里的训练集,并输出相应的文件。因为这个只是简单的试验,图片数据少,所以验证集的准确率不怎么样,但不妨碍我们对测试集进行预测。当训练完成后,程序命令会自动停止,生成output_graph.pb文件,bottleneck文件下会生成一系列的txt文件。不同的电脑配置运行时间会有一定差异。

23de4bb5eb44c53977aef764d1c4528f.png

运行retrain.bat后,程序自动训练

最后我们打开ipynb文件,直接运行,可以看到对两张测试集的图片预测准确率还可以。这次课我们安心做一个调包侠,尝试用现成的模型去建立自己的视觉识别模型,或许能带给你新的研究思路。

需要注意的是,因为Inception针对的是ImageNet数据集,里面的图片大小较小,所以我们选择的训练图片也不能太大。另外,不同领域的医学图片格式不一样,这就需要前期做一些预处理了。下节课我们来结合文献,讲讲消化内镜、CT与人工智能是怎么结合的。

37c184bb28e1bee21ea018c5d3af9b2e.png 68e27dcfd9328fd5a2e6eebe8fa24af3.png

预测结果

课程代码链接:

https://pan.baidu.com/s/1GlC-xTVwGBPgiosYz_wCig提取码: vc9m

人工智能系列课程还剩下最后一节啦

深度解读一篇内镜人工智能的文献。

医咖会最新上线专栏课程《Excel中的研究数据整理技巧》

讲解Excel中常见菜单、常用函数和Excel在数据整理中的最常见用法。

使用电脑,打开医咖会,观看专栏视频:

https://www.mediecogroup.com/zhuanlan/courses/35/

关注医咖会,及时获取最新统计教程

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值