首頁 >科技週邊 >人工智慧 >TensorFlow應用技術拓展—影像分類

TensorFlow應用技術拓展—影像分類

王林
王林轉載
2023-04-18 16:07:031748瀏覽

1.科研平台环境部署操作拓展

针对于机器学习中的模型训练,本人推荐大家多学习TensorFlow官方的课程或资源,比如中国大学MOOC上的两门课程​《 TensorFlow 入门实操课程 》​​和​《 TensorFlow 入门课程 - 部署篇 》​​。科研或者工作过程中涉及的模型分布式训练,可能一个资源平台往往会非常耗时,无法及时满足个人需求。在这里,我将就上一篇​​《初步了解TensorFlow框架学习》​​提到的九天毕昇平台的使用进行一个具体的拓展,来方便学生和用户来更快捷地进行模型训练。该平台可以进行数据管理,模型训练等任务,是一个方便快捷的科研任务实践平台。在模型训练中具体操作步骤为:

(1)注册并登录九天毕昇平台,由于后续训练任务需消耗算力豆,而新用户的算力豆数量有限,但可以通过分享好友等任务来完成算力豆的获取。同时针对大型模型训练任务,为获取更多的模型训练存储空间,可邮件方式联系该平台的工作人员进行了控制台的升级,从而达到了日后所需的训练存储要求。存储和算力豆详情如下图:

TensorFlow應用技術拓展—影像分類

(2)进入数据管理界面部署科研项目模型使用的数据集,通过将科研任务所需的数据集进行打包上传,完成模型训练所需数据集在该平台上的部署。

TensorFlow應用技術拓展—影像分類

(3)在模型训练窗口新增项目训练实例,选择之前导入的数据集和所需的CPU资源。创建后的实例即为科研所需要训练的单个模型文件。新增项目实例的详情如下图所示:

TensorFlow應用技術拓展—影像分類

TensorFlow應用技術拓展—影像分類

(4)运行新增的项目实例,即运行项目训练环境,运行成功后,则可以选择jupyter编辑器创建和编辑所需的代码文件。

TensorFlow應用技術拓展—影像分類

TensorFlow應用技術拓展—影像分類

(5)后续代码编写和模型训练即可使用jupyter编辑器进行操作即可。

2. 图像分类技术拓展

图像分类,顾名思义就是根据图像之间差异性来对不同图像进行类别判断。而针对图像之间地差异性去设计判别模型就是机器学习中需要去掌握的知识。图像分类的基本知识和操作过程可以参考中国大学MOOC上的《TensorFlow入门实操课程》,快速了解TensorFlow基础应用与设计思路。。​https://www.php.cn/link/b977b532403e14d6681a00f78f95506e

本章主要是想通过拓展图像分类技术来让接触该课程的用户更加深入地理解图像分类。

2.1 卷积操作有什么用?

说到对图像进行处理或者分类,必然绕不开一个操作,这个操作就是卷积。具体的卷积操作通过学习视频基本都能了解,但是更多的读者可能也只是停留在会如何进行卷积操作的程度上,而对于为什么去进行卷积,卷积操作有什么用这些仍然是一知半解。这里为大家进行一定拓展来帮助大家更好理解卷积。

基本的卷积过程下图所示,以图像为例,使用一个矩阵来表示图像,矩阵的每个元素即为图像中对应的像素值。卷积操作就是通过将卷积核逐乘对应的矩阵,从而得到这些小区域的特征值。而提取到的特征会因为卷积核的不同而有所差异,这也是后续会有人对图像不同通道进行卷积操作来获取图像不同通道的特征,来更好地进行后续分类任务。

TensorFlow應用技術拓展—影像分類

在日常地模型訓練中,具體地捲積核並不需要進行人工設計,而是透過給定圖像的真實標籤,使用網路來自動訓練出來的,但是這樣的過程不利於人們去理解卷積核和卷積過程,或說不直觀。因此為了幫助大家更能理解卷積操作的意義,在這舉一個卷積操作的例子。如下圖矩陣所示,數值表示圖形的像素,為了方便計算,在這裡只取了0和1, 不難看出該矩陣圖形的特徵上面一半圖形是明亮的,下面一半圖形是黑的,因此該圖像具有很清晰的一道分界線,即具有明顯的水平特徵。

TensorFlow應用技術拓展—影像分類

因此為了很好地提取上述矩陣的水平特徵,設計的捲積核應該也要具有水平特徵提取的屬性。而採用垂直特徵提取屬性的捲積核相對而言在特徵提取的明顯程度上會略顯不足。如下所示,採用提取水平特徵的捲積核進行卷積:

TensorFlow應用技術拓展—影像分類

由所得的捲積結果矩陣可知,原始圖形的水平特徵被很好地提取出來,並且圖形地分界線會更加明顯,因為圖形有顏色的部分像素值加深了,很好地提取並突出了圖形的水平特徵。當採用提取垂直特徵的捲積核進行卷積時:

TensorFlow應用技術拓展—影像分類

由所得的捲積結果矩陣可知,原始圖形的水平特徵也能被提取出來,但是會產生兩條分界線,圖形變化由特別明亮到明亮再到黑,反映到真實圖形上的情況也就變成由明到暗再到黑的情況,與真實原始圖形反應的水平特徵有所差別。

由上述例子不難得知,卷積核的不同會影響最終提取的圖形特徵的優劣程度,同時不同圖形所反應出來的特徵也有所不同,如何根據圖形特徵屬性的不同來設計出網路模型來更好地學習和設計出卷積核也特別關鍵。在實際地圖形分類項目中,就需要根據影像的差異來選擇提取合適的特徵,並且往往需要有所取捨的去考慮。           

2.2 如何考慮卷積有較好的進行影像分類?

在上一節中透過卷積操作的作用可以知道,設計網路模型來更好地去學習出適配圖像的捲積核尤為重要。但在實際應用中,都是透過給定圖像類別的真實標籤,將類別標籤轉成機器能夠理解的向量數據,來自動學習訓練。當然,也不是完全無法透過人工設定來改善的。雖然資料集的標籤是固定好的,但是我們可以根據資料集的圖片類型去選擇不同的網路模型,針對不同的網路模型的優劣勢去考慮往往會有不錯的訓練效果。

同時在提取影像特徵時,也可以考慮使用多任務學習的方法,在已有的影像資料中,再次同樣使用一次影像資料去提取一些額外的影像特徵(例如影像的通道特徵和空間特徵等),然後對先前提取到的特徵進行一個補充或填充,來完善最終提取到的圖像特徵。當然,有時候這種操作會造成提取的特徵冗餘,取得的分類效果往往適得其反,因此需要根據實際訓練的分類結果去酌情考慮。

2.3 網路模型選擇的一些建議

圖像分類領域發展已經有很長一段時間了,從最初經典的AlexNet網路模型到近年來火熱的ResNet網路模型等,影像分類技術已經發展地比較完善,對於一些常用的影像資料集的分類準確率已經趨於100%。目前該領域中,大多數人採用的網路模型都是選擇最新的,並且在大多數圖像分類任務中,使用最新的網路模型確實可以帶來很明顯的分類效果,由此許多人在這一領域中往往會忽略以前的網路模型,直接去學習最新的、流行的網路模型。

在這,本人還是建議各位讀者能夠對圖形分類領域的一些經典的網絡模型都需要去進行一個熟悉,因為技術的更新迭代是非常快的,即使現在最新的網絡模型今後也可能會被淘汰,但是基本的網絡模型運行的原理是大致相通的,透過掌握經典的網絡模型,不僅可以掌握基本的原理,還可以明白不同網絡模型之間的差異和針對不同任務處理時的優劣性。例如,當你的圖像資料集比較小時,採用最新的網路模型訓練起來可能會非常複雜耗時,但是提升的效果微乎其微,因此為了可以忽略不計的效果去犧牲自己的訓練時間成本反而得不償失。因此,對於影像分類網路模型的掌握需要做到知其然還能知其所以然,這樣今後選擇影像分類模型時真正能做到有的放矢。

作者介紹:

稀飯,51CTO社群編輯,曾任職某電商人工智慧研發中心大數據技術部門,做推薦演算法。目前從事自然語言處理方向研究,主要擅長領域有建議演算法、NLP、CV,使用程式碼語言有Java、Python、Scala。發表ICCC會議論文一篇。

以上是TensorFlow應用技術拓展—影像分類的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除