身近なディープラーニング / 機械学習
ディープラーニングや機械学習の技術は、我々の生活に欠かせないものとなっています。
- 様々なWebサイトのレコメンド機能
- 機械翻訳
- スマートフォンカメラの色々な補助機能
など日常的に使う製品やサービスにも幅広くこれらの技術が使われています。
これまで、ディープラーニングや機械学習の始め方について記事で紹介してきました。
今日は、ひと味違う入門法を紹介します。
- A Neural Network Playground
- Scratch言語で機械学習
- デモンストレーションから学ぶ
です。
- 意外に面白そう
- 興味が湧いた
- こんなことができるようになるのか
など、何か新しい発見があるかもしれません。
A Neural Network Playground
A Neural Network Playgroundは、視覚的にニューラルネットワークについて学ぶことができるサイトです。
日本語でも使用できます。
A Neural Network Playgroundには、機械学習用のライブラリとして広く知られているTensorFlowが使用されています。
A Neural Network Playgroundを使うことで、
- 分類
- 回帰
といった、機械学習の一般的な問題に対して、
- ニューラルネットワークの構造(入力層の数、隠れ層の数)
- 活性化関数の種類
- 損失関数の種類
- 学習率
- バッチサイズ
などを自由に調整して、ニューラルネットワークの学習の過程を視覚的に確認することができます。
通常の学び方では、上記の活性化関数とは、損失関数とは、などについて1つずつ学んで行き、自分のニューラルネットワークを組み立てるという手順が取られることが多いと思います。
A Neural Network Playgroundを使えば、活性化関数が何か分からなくても、まずそれらの値を色々と変更させてニューラルネットワークに学習させることで、直感的に様々なことに気が付きます。
まずは、詳細は置いておいて、ニューラルネットワークで、分類や回帰に取り組むとはどういうことかが、
- 視覚的に
- マウス操作
で理解できるので、お勧めのWebサイトです。
Scratch言語で機械学習
Scratchは、ビジュアルプログラミング言語として広く知られているプログラミング言語です。
視覚的にプログラミングできるため、プログラミング入門用に世界的に活用されています。
そのビジュアルプログラミング言語で機械学習に取り組むためのリソースがあります。
などです。
機械学習に取り組もうと思うと、
- 線形代数や確率・統計
- Pythonなどのプログラミング
を学んでからやっとたどり着く、というイメージがあるかも知れません。
しかし、Scratchで機械学習に取り組めば、
まず手を動かして機械学習を体験する、ということが可能になります。
上記のリソースでは、Scratchで機械学習に取り組む方法や
などを組み合わせて、機械学習を試す方法が紹介されています。
ML2Scratchは、Scratchの拡張機能で、カメラを使用した機械学習にScratchで取り組むことができます。
Teachable Machineは、Pythonのプログラミングなしで簡易的に機械学習モデルを作成するためのツールです。
Scratch言語をML2ScratchやTeachable Machineと組み合わせることで、機械学習について広く知ることができます。
デモンストレーションから
デモンストレーションからディープラーニングや機械学習を体験する方法もお勧めです。
トップダウン、ボトムアップ、どちらで学習を進めていく場合も、最初に完成のイメージがあると
モチベーションが上がります。
デモをいくつか確認することで、
- 完成のイメージが鮮明になる
- ディープラーニングや機械学習で作りたいものが出てくる
など学習にポジティブな影響があると思います。
先に紹介した、ML2ScratchやTeachable Machineでもデモを確認することができます。
それ以外にも多くのデモをWebサイトで確認することができます。
Googleは、複数のデモを公開しています。
- ユーザーが書いた絵を推定するQuick Draw
- 自動描画ツールのAuto Draw
- 描画補助ツールのsketch-rnn
- AIとピアノの演奏ができるA.I. Duet
などです。
その他のデモは、一覧で確認することができます。
Interactive Machine Learning, Deep Learning and Statistics websites
Interactive Machine Learning, Deep Learning and Statistics websitesには、ディープラーニング、機械学習のデモが集約されています。
- いろいろなプログラミング言語やフレームワークで作成されたモデル
- 分類や回帰などの様々なタスクの例
などを確認することができます。
その他
他には、
などからもディープラーニングや機械学習のデモを確認することができます。
気になる所から始めてみる
今日は、少し角度を変えて、ディープラーニングや機械学習を始める方法を紹介しました。
- A Neural Network Playgroundで視覚的、インタラクティブに学び始める
- Scratchでブロックを積み上げるように、ディープラーニングや機械学習に入門
- 様々なデモを見て、ディープラーニングや機械学習でできることを知り、自分で作るフェーズにつなげる
など、色々な取り組み方ができます。
興味関心を持つポイントは多様だと思いますが、ディープラーニングや機械学習で取り組めるテーマは本当に多岐に渡ります。
今日紹介した方法を試して見ることで、それぞれの興味関心にあったディープラーニングや機械学習の領域が見つかるかもしれません。
コメント