10章画像訓練

すべてはできるかぎり単純でなければいけない。しかし、単純すぎてはいけない。

—— アルバート・アインシュタイン

これからある数字について説明します。説明された特徴からその数字を当ててみてください。私が考えている数字は上部で半円を描いて、その半円の右側から下に直線が伸び、一番下で回転して線が交差します。少し考えて、今説明した数字を心の中で描いてください。説明した3つの特徴から、おそらく私が考えた数字を当てることができたのではないでしょうか。

数字の視覚的な特徴にはさまざまなものがありますが、うまく説明できれば心の中で数字を特定できます。「上部で半円を描いて」と聞くとすぐにいくつかの数字を候補から除くことができ、「半円の右側から下に直線が伸びて」と聞くと同様にしてさらに候補を絞れます。いくつかの特徴を組み合わせることで数字を一意に特定できるでしょう。

図10-1のように数字を説明した内容をCSVファイルに保存すれば、そのデータで訓練したニューラルネットワークはおそらく100%の正解率を達成できるでしょう。それぞれの数字の上部、中部、下部の説明を人間が行うということに目を塞げば、すべてうまく動作します。この人間の行っている部分を自動化するにはどうすればいいのでしょう? 画像の特徴であるループや色、曲線をコンピューターに識別させ、それをニューラルネットワークに与えることができれば、マシンは必要なパターンを学習して説明の内容がどの画像を指しているのかを分類できます。

嬉しいことに、画像の特徴量エンジニアリングという問題は、コンピュータービジョンというすばらしい技術によってすでに解決されています。

図10-1 もし数字を2と判断できたなら正解

本章の内容は以下のとおりです。 ...

Get 初めてのTensorFlow.js ―JavaScriptで学ぶ機械学習 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.