投稿

「PythonとKerasによるDeep Learning」を理解する

イメージ
Pythonベースのディープラーニングフレームワーク Kerasの開発者である筆者が実践解説 オリジナルサイト Part1 ディープラーニングの紹介 第1章:人工知能(AI)、機械学習、ディープラーニングの基本的なコンテキストと予備知識を提供 第2章:ディープラーニングに取り組むために必要な基本概念(テンソル、テンソル演算、勾配降下法、バックプロパゲーション)を紹介 第3章:ディープラーニングフレームワークであるKerasの紹介。分類タスクと回帰タスクを処理する単純なニューラルネットワーク 第4章:機械学習の一般的なワークフローとよくある落とし穴・解決法を詳解 Part2 ディープラーニングの応用例としてコンピュータビジョンと自然言語処理を解説 第5章:画像分類に焦点を合わせ、コンピュータビジョンの実践的な例を幅広く取り上げる 第6章:テキストや時系列といったシーケンスデータを処理するための手法 第7章:最先端のディープラーニングモデルを構築するための高度な手法を紹介 第8章:画像やテキストを作成する能力を持つディープラーニングモデルであり、芸術的な結果をもたらすことがあるジェネレーティブモデルの紹介 第9章:本書の総括。ディープラーニングの限界とその未来を予測  開発環境  Ubuntsu 16.04 NVIDIA cv@cv:~$ nvidia-smi Sat Aug 18 08:00:26 2018        +-----------------------------------------------------------------------------+ | NVIDIA-SMI 390.77                 Driver Version: 390.77                    | |-------------------------------+----------------------+----------------------+ | GPU  Name        Persistence-M| Bus-Id        Disp.A

Intel® Distribution for Python for Linux* update3

Intel®Distribution for Python for Linux* Update 3 (May 2017) Includes Intel-optimized Deep Learning frameworks Caffe and Theano, powered by the new Intel® MKL-DNN Select Scikit-learn algorithms now accelerated with Intel® Data Analytics Acceleration Library for ~200X speedup Arithmetic, transcendental and 1D & multi-dimensional FFT functions significantly faster in NumPy and SciPy 設定 https://www.continuum.io/downloads <Anaconda>  Python 3.6 version bath Anaconda3-4-.3.1-Linux-x86_64.sh 手順 conda update conda conda config --add channels intel conda create -n idp intelpython3_full python=3 # To activate this environment, use: # > source activate idp # To deactivate this environment, use: # > source deactivate idp To activate Linux environment, use:  > source activate idp   To activate Windows environment, use: >activate idp   To deactivate this environment, use:  > source deactivate idp $ conda env list # co

「Deep Learning」を理解する

イメージ
オリジナルサポートサイト 「Pythonで学ぶディープラーニングの理論と実装」 この本は「深層学習」の要点をわかりやすく解説してあります。 プログラミングをして理解する方にはお勧めの本です。 理論の理解、開発環境構築、プログラミングを実装しディープラーニングを理解してみます。 「深層学習」の理論 ニューラルネットワークの「学習」とは 学習 訓練データから最適な重みパラメータの値を 自動 で獲得すること 学習が行えるように 「 損失関数 」を基準としその値が 最も小さくなる重みパラメータ を探し出すことが学習の目的 「活性化関数」 入力信号の総和を出力信号に変換する関数を活性化関数(activation function)と呼ぶ シグモイド関数 ReLU (Rectified Linear Unit) 「損失関数」 2乗和誤差 、 交差エントロピー誤差    p, qが 離散確率変数 なら、これは次のようになる。 {\displaystyle \mathrm {H} (p,q)=-\sum _{x}p(x)\,\log q(x)\!} 損失関数の値を探し出す手法 として「 勾配法 」と呼ばれる関数の傾きを使用する。勾配とはすべての変数の 偏微分をベクトルとしてまとめたものを勾配(gradient) と言う。 勾配・勾配法 勾配: すべての偏微分をベクトルとしてまとめたものを勾配(gradient)という。 勾配は各地点において低くなる方向を指します。言い換えると 勾配は各場所において関数の値を最も減らす 方向 です。 勾配法: 機械学習の問題の多くは学習の際に最適なパラメータを探索する。 ニューラルネットワークも同様に最適なパラメータ(重みとバイアス)を学習時に見つける必要がある。最適なパラメータとは 損失関数が最小値 をとるときであり 最小の場所を探すのに勾配法を使用 する。 勾配法は現在の場所から一定の距離だけ進み繰り返し勾配方向に移動し関数の値を徐々に減らすのが勾配法(gradient method)という。 学習アルゴリズムの実装 ステップ1