【初心者が知らないプログラミング用PCの選び方④:GPU編】 人工知能で大活躍の並列処理が得意なGPUとは?

どうも
フリーエンジニアのいちようです。

今日も
前回までのnoteに引き続き、

『初心者の方向け
 プログラミングの勉強〜開発まで使える
 パソコンの選び方』

というテーマで書いていきます。


前回までのnoteへのリンク↓

①CPU編:Core i7だからって高性能とは限らない


②メモリとストレージ編:データの保存方法の違い


③OS編:エンジニアを目指すなら必須のLinux



今日お話ししていくのは

GPU
(Graphics Processing Unit)


についてです。

GPUは、CPUと同じように
パソコンの脳みそとしての役割を
果たすことができ

パソコンが
さまざまな処理を行うために
必要な計算をおこないます。

この説明だけだと
CPUと同じように感じるかもしれません。

CPUと字面も似ているので
よく混同されますが少し違います


どう違うのか、と言いますと、
GPUは、CPUと違い、

『リアルタイムの画像処理』に
特化しています


『リアルタイムの画像処理』とは
3Dの描画能力が必要になる処理のことです。

たとえば、
ゲームの分野で必要になる技術です。

いちようは
モンハンの2Gが流行った世代ですが、
(だいたい年齢わかりますかね笑)

『リアルタイムの画像処理』は
モンハンをはじめとした
そういう奥行きのある3Dゲームの画面を

『リアルタイムで滑らかに見せるために
必要な画像処理』
のことです。


そして、そういう
『リアルタイムの画像処理』
特化した計算をおこなえるのが、

『GPU』です


なので、
当然と言えば当然なんですが、

PlayStation シリーズや
Nintendo Switch、Wiiシリーズ
Xboxシリーズなど

ゲーム機には
必ず『GPU』が使われています。



画像処理に特化したGPUが
AI分野で活躍中のワケ


先ほど、GPUは

3Dゲームの映像を作り出すような
『リアルタイムの画像処理に
特化している』
という話をしました。

ですが、
GPUはゲーム分野以外にも
さまざまな分野で活用されています。

GPUが活用されている分野の一つに
『AI(人工知能)分野』があります。

画像処理に特化しているGPUが

なぜ『AI分野』でも
活用できるのでしょうか?


その理由は、GPUの
『画像処理に特化した処理の仕方』

そのまま
たくさんの似た計算を必要とする、
人工知能の分野で活用できるから
、です。


画像処理は
めちゃめちゃ簡単にいうと、

同じような計算の繰り返し
なんです


たとえば、
モンハンで言うと、

ゲーム画面の中での
ハンターの位置はいつも一緒で

ハンターを動かすと、
ハンターの動きに合わせて
背景のステージが動きますよね。

コンピュータの中では
ハンター、背景、モンスターなどを
全て数値で表します

それぞれの形や、色、画面中の位置など
文字通り『全て』です。

ハンターが前に進めば
背景はハンターの後方に動いていくし

ハンターの武器と
モンスターの位置が重なれば
モンスターのHPが減っていきます。

こういう
いつも同じような計算、つまり

『決まった計算』を繰り返し
ゲームは動いています


そして
こういう、ゲームに使われる
『決まった計算の繰り返し』

人工知能の分野、特に、
ディープラーニングにおいて
よくおこなわれます。


ディープラーニングの説明までは
めちゃくちゃ長くなるので
ざっくり説明すると、

ディープラーニングは
主に『学習』と『推論』という
二つの段階をへて、開発されます。

『学習』は、多数のサンプルをもとに
『正しい答えの特徴を数値化する段階』で、

『推論』は、その数値化された特徴をもとに
『正しい答えを判断させる段階』です。

具体例がないとわかりづらいですよね。
画像認識の例で説明します。


人の顔の写真を渡すと
いちようの顔かどうか判別してくれる
人工知能
を作ることを考えます。

まず、
いちようの顔が写った写真を
たくさんコンピュータに渡します

そうして渡された
いちようの顔の写真から

いちようの顔の特徴を
色、形、位置などの要素で数値化
していきます

これが
『学習』の段階です


そのあと、
その数値化した特徴をもとに

渡した画像がいちようの顔かどうか
実際に判別していく
のが

『推論』の段階です


ディープラーニングでは
このような『学習』と『推論』の
2つの段階を踏みますが、

『学習』の段階において
特徴を数値化するとき

毎回、同じような
『決まった計算』をたくさんおこないます。


先ほども説明した通り、

この『決まった計算』の処理が
GPUがめちゃめちゃ得意なこと
なので

ゲームの分野で
長年つちかわれてきた

GPUの計算技術を
AI分野でも活かせる


というわけです。




結局、
プログラミング用PCに
GPUは必要なのか


長々と
GPUについて書いてきましたが

やっぱり気になるのは

 『結局、GPUは
 プログラミング用のパソコンに
 必要なのかどうか』

だと思います。

結論から
はっきり言います

基本的にGPUは
プログラミング用PCに必要ない



意外な結論でしょうか。

もしあなたが、

「ゲーム開発がしたい」
「ディープラーニングを使った開発をしたい」
という明確な目標があれば

GPUが搭載されたパソコンの方が
おすすめできなくもないですが、

ぶっちゃけ
プログラミング初心者の方が

「ちょっとゲーム開発に興味あるな」
「人工知能、流行りだし学んでみたいかも」

これくらいのレベルの
ちょっとした興味なら

全くもって
GPUは必要ありません



そういう方は
「これから業務で人工知能を扱う」とか
「ゲーム開発を本格的に始める」とか

本当に必要になったときに
買い直しましょう。


初歩の基本的な
プログラミング学習だけのことを
考えるのなら、

CPUを良質なものにすることに
お金を使った方がいい
ですし、

※↑CPUです!
 GPUと字面が似ているので注意

金銭的な無理をしてまで
つける必要はないです



ただ、

「CPUやメモリ・ストレージを
 良いものにしたけど予算が余った」
とか

「GPUが推奨環境に記載されている
 動画編集ソフトを使っている」
とか

「ゲーミング用PCとしても
 使えるものが良い」
とかなら

迷わず、

GPUが付いているパソコンを
買うようにしましょう


あったほうが
性能が上がるのは間違いないので。

ということで
今日のまとめは、

【結論】

GPUは基本的には
プログラミング学習に必要ないが

予算に余裕があれば
買ってもいい

でした


あくまで、初心者の方が
最初のPCとして選ぶなら、という基準で
お話ししています。

今日のnoteは以上です
それではまた明日〜(^^)/





この記事が気に入ったらサポートをしてみませんか?