ディープラーニング使ってみた

ディープラーニングを使ってみてパソコンを検討してみた

MATLABのサンプルを動かしてみた

matlabのCNNサンプル実行画像

仕事でディープラーニングもプログラミングする予定なので、 MathWorksのホームページにあるサンプルを動かしてみました。

手持ちのパソコンで問題ないかどうかを 調査するのが目的です。

ちなみに、手持ちのパソコンのスペックはこんな感じ。

CPU:Corei5 1.6GHz
メモリ:8GB
グラフィックス:Intel UHD Graphics620
ストレージ:SSD 500GB

ディープラーニングは、 主に学習するときに時間がかかるので、 このパソコンでどれくらい時間がかかるかを見ていきました。

ちなみにサンプルは、 MathWorksの「分類用のシンプルな深層学習ネットワークの作成」 チュートリアルを実行していきました。

「分類用のシンプルな深層学習ネットワークの作成」・ MathWorks

MathWorksは、こういうチュートリアルがしっかりしていて、 導入前にも検討できるのが嬉しいところです。

サンプルではどんな処理をしているか?

このディープラーニングのサンプルは、 数字の画像データを学習させて、 入力に数字画像を入れた時に、どの程度の精度で認識するか? がプログラミングされています。

学習用の画像データは、 0~9の各数字1000枚あります。 全部で10000枚。

サンプルでは、 各数字で750枚を学習用に使って、 残り250枚を検証用のデータとして使っています。

28x28ピクセルの画像データです。 いくつかの画像データを回転させたりして、 学習用データを水増ししています。

いくつか取り出して、 MATLABで表示するとこんな感じの画像です。

matlabのCNNサンプル実行画像

これらを学習して、 ネットワークを構築していきます。

学習済みのニューラルネットに、 検証用の画像データを入力して、 どの程度の精度で認識するかを見ているのがこのサンプルです。

学習にどれくらい時間がかかったか?

GPUは使っておらず、 CPUを使ってかつ、シングルコアのみで学習させています。

matlabのCNNサンプル実行結果

結果として、 28x28ピクセルの画像7500枚の学習で、45秒程度で終わります。

この程度のノード数の学習では、 Corei5 1.6GHzでもかなり高速で学習できるようです。

MATLABの処理が速いのもあると思いますが、 それでも最近のパソコンであれば、 「学習に数時間待つ・・・」なんてことは、あまりないように思えます。

20年くらい前…私が学生だった頃は、 この程度の学習でも数時間かかっていました。

表情認識をニューラルネットで研究していましたが、 学習コストが多くてかなり待ち時間が長かった思い出があります。

今のMATLABを使ったディープラーニングであれば、 CPUのみの学習でも実用に耐えるように思えます。

顔認識だったり、人の認識だったり、 車の認識だったりといった、 低解像度の画像を学習する場合では、 そこまで高スペックのパソコンでなくてもよさそうです。

GPUが必要なのはどういうとき?

rtx2080

GPUが必要になるのは、 解像度の大きな画像を大量に学習させる場合かと思います。

例えば、医療業界では高解像度CT画像を学習させたりする場合は、 GPUを使わないとかなり時間がかかります。

大量の学習用データが必要になることがあるので、 そこでCPUのみを使った学習だと時間が数時間~数日かかったりします。

他の例では、画像補正などで4K、8Kの画像を学習させて、 画像補正をするような例があります。

これは、低解像度の画像を高解像度にするような処理を行う、 いわゆる「超解像処理」をディープラーニングで実現する方法です。

これも、高解像度の画像データを学習する必要があるので、 かなりの学習時間が必要になります。

つまり、 大規模データを学習データとして使う場合は、 GPUが必須になるということです。

ちなみに、超解像処理の例は、MathWorksのホームページに載っていますので、 合わせて参照してみてください。

「深層学習を使用した単一イメージ超解像処理」・ MathWorks

まとめ

低解像度で少数の学習データを扱う場合は、 高スペックのパソコンを使わなくても問題ない。

数万、数十万と言った大量のデータを学習させたり、 4K、8Kと言った高画質の画像データを学習させたりする場合は、 GPUが必須です。

関連記事

MATLABの基本的な機能を使ってみてパソコンを検討した

動画ファイルから顔検出してみてパソコンを検討した

WEBカメラから顔検出してみてパソコンを検討した

医療系の3次元画像を扱ってみてパソコンを検討した

MATLABの最適化計算をしてどんなパソコンがいいかを検討した

Copyright (C) MATLABパソコンのおすすめスペック. All Rights Reserved.