第1章. PyTorch入門
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
人工知能(AI)の作成に関して言えば、マシンラーニング(ML)とディープラーニングは手始めに最適な場所だ。しかし、いざ始めようとすると、選択肢や新しい用語に圧倒されてしまいがちだ。本書は、プログラマとして物事を解明することを目的としている。MLやディープラーニングの概念を実装するためのコードを書きながら、コンピューター・ビジョンや自然言語処理(NLP)などのシナリオで、より人間と同じように振る舞うモデルを構築していく。こうして、これらのモデルは合成された、つまり人工知能の一形態となる。
しかし、マシンラーニングとは一体何なのだろうか?先に進む前に、それを簡単に見て、プログラマの視点から考えてみよう。その後、この章の残りの部分では、PyTorchそのものから、PyTorchベースのモデルをコーディングしたりデバッグしたりできる環境まで、この分野のツールをインストールする方法を紹介する。
マシンラーニングとは何か?
MLの内部と外部に入る前に、 、それが伝統的なプログラミングからどのように進化したかを考えてみよう。まず伝統的なプログラミングとは何かを調べ、それが制限されるケースを考える。その後、そのようなケースに対応するためにMLがどのように進化し、新しいシナリオを実装する新しい機会を開き、それによってAIの概念の多くを解き明かしたかを見ていく。
伝統的なプログラミングは、プログラミング言語で表現され、データに作用して答えを与える規則を書くことを含む。これは、コードを使って何かをプログラミングできるあらゆる場所に当てはまる。
例えば、人気のあるブレイクアウトのようなゲームを考えてみよう。コードは、ボールの動き、得点、ゲームの勝ち負けのさまざまな条件付きなどを決定する。図1-1のように、ボールがレンガでバウンドするシナリオを考えてみよう。
図1-1. ブレイクアウトゲームのコード
ここで、ボールの動きは、dx とdy の特性によって決定できる。ボールがレンガに当たると、レンガが取り除かれ、ボールの速度が上がり、ボールの動く方向が変わる。このコードは、ゲームの状況に関するデータに基づいて動作する。
あるいは、金融サービスのシナリオを考えてみよう。現在の株価や収益など、企業に関するデータがあるとする。図1-2のようなコードを呼び出せば、株価収益率(またはPER、株価を利益で割ったもの)と呼ばれる貴重な比率を計算することができる。
図1-2. 金融サービスシナリオのコード
あなたのコードは価格を読み取り、利益を読み取り、前者を後者で割った戻り値を返す。
このような伝統的なプログラミングを一つの図にまとめると、図1-3のようになる。
図1-3. 伝統的なプログラミングの上位概念
見ての通り、プログラミング言語で表現された規則がある。これらの規則がデータに作用し、その結果が答えとなる。
従来のプログラミングの限界 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access