機械学習

【MLP 深層学習】第2章 順伝播型ネットワーク

深層学習、通称青イルカ本の学習メモ。 深層学習 (機械学習プロフェッショナルシリーズ)作者: 岡谷貴之出版社/メーカー: 講談社発売日: 2015/04/08メディア: 単行本(ソフトカバー)この商品を含むブログ (13件) を見る 知らなかったことや重要だと思ったと…

【MLP 深層学習】第1章 はじめに

深層学習、通称青イルカ本の学習メモ。 深層学習 (機械学習プロフェッショナルシリーズ)作者: 岡谷貴之出版社/メーカー: 講談社発売日: 2015/04/08メディア: 単行本(ソフトカバー)この商品を含むブログ (13件) を見る 知らなかったことや重要だと思ったと…

LeNetのパラメータの可視化

LeNetは1998のLeCunによって発表されたネットワーク。 MNISTに対して、このLeNetの類似ネットワークを適用した時の、パラメータを可視化してみるというのが本記事の主旨。 今回使ったネットワーク構成を示す。 畳み込み層2つに、全結合層が2つ連なったもの。…

Keras(Tensorflow)でMNIST

KerasでMNIST手書き文字分類問題を試した。 実行環境 Python 3.6.0 Keras 1.2.2 Tensorflow 1.0.1 GeForce 780Ti コード ライブラリのインポート import numpy as np np.random.seed(123) from keras.models import Sequential from keras.layers import Den…

Python機械学習プログラミングを読んで覚えておきたいと思ったこと

Python機械学習プログラミング 達人データサイエンティストによる理論と実践 (impress top gear)作者: Sebastian Raschka,株式会社クイープ,福島真太朗出版社/メーカー: インプレス発売日: 2016/06/30メディア: 単行本(ソフトカバー)この商品を含むブログ …

誤差逆伝播法の数式を簡単なニューラルネットで理解する

誤差逆伝播法の数式をニューラルネットで追ってみる。 時々忘れてしまうので、備忘録として残しておく。 今回考えるニューラルネット 下記のニューラルネットを例に取る。 層への入力を、 層のアクティべーションを、 層から層への重みをとしている。 なお入…

Michael Nielsen著のオンライン書籍「ニューラルネットワークと深層学習」の翻訳に参加しました

日本語訳に参加させていただいた書籍は下記のリンクから読めます! オリジナル書籍:Neural Networks and Deep Learning 日本語版書籍:ニューラルネットワークと深層学習 量子コンピューティング分野の物理学者Michael Nielsenという方の執筆したオンライン…

機械学習入門(ボルツマン機械学習から深層学習まで)を読んで、覚えておきたいと思ったこと

平易な言葉で本質を教えてくれる本書のような情報源は貴重。 この類の本をどんどん読んで吸収していきたい。 鏡に美しさを示す関数を教えよう、というところから始まるのだが、 鏡が博識&有能すぎて教えるどころではないというところ。 順問題と逆問題 順問…

Michael NielsenのNeural Networks and Deep Learningを読んで、覚えておきたいと思ったこと

Michael Nielsen著のオンライン書籍Neural Networks and Deep Learningを読んで、 覚えておきたいと思ったことのメモ。 ゼロから作るディープラーニングのネタ元は、 CS231nとばかり思っていたけど、 今となっては、真のネタ元はこのオンライン書籍だと確信…

非線形領域をlinear classifierと2層Neural Networkで分類してみる

3種のラベルのうち1種が付与されている点列データを、 linear classifierと2層NNでそれぞれ分類させてみる。 Stanfordのオンライン教材CS231n Convolutional Neural Networks for Visual Recognitionを参考にしている。 Linear Classifier 入力データとパラ…

Stanfordの授業CS231nでニューラルネット、畳み込みニューラルネットを学ぶ

StanfordのCS231nという授業の教材を使って、機械学習を学んだ。 自分のメモのまとめ。 (写経に近いので注意) Module 1: Neural Networks Image Classification: Data-driven Approach, k-Nearest Neighbor, train/val/test splits L1/L2 distances, hyper…

【CS231n】Putting it together: Minimal Neural Network Case Study

Stanford大の教材CS231nを使ってNNやCNNを学んでいる. この記事では、toy Neural Networkを実装する。 最初にシンプルなlinear classifierを作り、その次に2層NNへ拡張する Generating some data 簡単に線形分離できないdatasetを生成する 例として渦状のデ…

【CS231n】Neural Networks Part 3: Learning and Evaluation

Stanford大の教材CS231nを使ってNNやCNNを学んでいる. 前回の記事では、層の結合やデータやloss functionなどNNの静的構造について確認した。 本記事では、NNのダイナミクス(パラメータを学習するプロセスやハイパーパラメータの決定方法)について学ぶ。 …

【CS231n】Neural Networks Part 2: Setting up the Data and the Loss

Stanford大の教材CS231nを使ってNNやCNNを学んでいる. 本記事では,Neural Network(NN)を中心に扱う. Setting up the data and the model Linear Classification用からNN用へscore functionの拡張 linear mappingを繰り返しの中にnon-linearityを織り交ぜ…

【CS231n】Neural Networks Part1: Setting up the Architecture

Stanford大の教材CS231nを使ってNNやCNNを学んでいる. 本記事では,Neural Network(NN)を中心に扱う. Quick intro linear classificationでは画像をクラスに分類するために、によって、各クラスのスコアを計算したのだった は行列、は入力ベクトル CIFAR-1…

【CS231n】Backpropagation, Intuitions

Stanford大の教材CS231nを使ってNNやCNNを学んでいる. 本記事では,Backpropagation(誤差逆伝播法)を中心に扱う. Introduction 本セクションでは勾配とbackpropagationを直観的に理解してみる backpropagationとは、chain rule(連鎖律)を反復的に利用…

【CS231n】Optimization

Stanford大の教材CS231nを使ってNNやCNNを学んでいる. 本記事では,Optimizationについて,下記項目を中心に扱う. Stochastic Gradient Descent Introduction 前セクションの展開 画像の生ピクセルをクラススコアにマッピングするscore function パラメー…

【CS231n】Linear classification

Stanford大の教材CS231nを使ってNNやCNNを学んでいる. 本記事では,Linear Classificationについて,下記項目を中心に扱う. Support Vector Machine Softmax Linear Classification k-Nearest Neighborは以下の欠点があった 空間的な非効率性 分類器は全て…

【CS231n】Image Classification

Stanford大の教材CS231nを使ってNNやCNNを学ぶ. 本記事は,Image Classificationやdata-driven approachについて.下記項目などを学ぶ. Data-driven Approach k-Nearest Neighbor train/val/test splits Image Classification 画像分類問題とは,入力画像…

【Deep Learning】計算グラフによる誤差逆伝播法(Back propagation)の理解

背景 ニューラルネットの重みなどのパラメータ決定を勾配法で行う 勾配法の計算の際に損失関数の微分が必要 微分計算の高速化が求められる. その高速化のために誤差逆伝播法を用いるのが一般的 その誤差逆伝播法を数式ではなく,計算グラフから理解してみる…

【読書メモ】ゼロから作るDeep Learning

ゼロから作るDeep Learningを読んだ。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者: 斎藤康毅出版社/メーカー: オライリージャパン発売日: 2016/09/24メディア: 単行本(ソフトカバー)この商品を含むブログ (11件) を見る …

【ゼロから作るDeep Learning】8章 ディープラーニング

認識精度を高めるには MNISTに対する認識精度のランキング Classification datasets results MNISTに対しては、層をそこまで深くせずに最高精度の結果が得られている。 手書き数字という比較的単純な問題に対しては、ネットワークの表現力を高める必要がない…

【ゼロから作るDeep Learning】7章 畳み込みニューラルネットワーク

本章では畳み込みニューラルネットワーク(convolutional neural network)を学ぶ 全体の構造 これまでの全結合層 [Affine, ReLU]を繰り返し,最後に[Affine,Softmax] CNN [Conv, ReLU, Pooling]を繰り返し,最後の方で[Affine, ReLU], 最後に[Affine, Soft…

【ゼロから作るDeep Learning】6章 学習に関するテクニック

本章では,ニューラルネットの学習のためのテクニックを学ぶ 最適な重みパラメータを探索する最適化手法 重みパラメータの初期値 ハイパーパラメータの設定方法 過学習への対応策 Weight Decoy Dropout Batch Normalization 確率的勾配降下法(SGD:stochast…

【ゼロから作るDeep Learning】5章 誤差逆伝播法

誤差逆伝播法 数値微分による勾配の計算は,実装が平易だが,計算に時間がかかるという難点がある そこで微分計算を効率的に行う誤差逆伝播法の出番となる 誤差逆伝播法は色んな分野で使われている 天気予報 数値的安定性の分析 誤差逆伝播法の理解の方法は2…

【ゼロから作るDeep Learning】4章 ニューラルネットワークの学習

本章では,ニューラルネットワークの学習を扱う. 学習とは「訓練データから最適な重みパラメータの値を自動で獲得する」こと. データから学習する ニューラルネットワークの特徴は,データから学習できること ニューラルネットワークのパラメータは数千,…

【ゼロから作るDeep Learning】3章 ニューラルネットワーク

本章ではニューラルネットワークが紹介がされている. ニューラルネットワークは,多層パーセプトロンに活性化関数の概念が加わったもの(と言える) ニューラルネットワークの例 入力層 中間層 隠れ層ともいう 出力層 パーセプトロン パーセプトロンにおい…

【ゼロから作るDeep Learning】2章 パーセプトロン

本章ではパーセプトロン(parceptron)というアルゴリズムが紹介されている。 このパーセプトロンが、後々学ぶニューラルネットワークやディープラーニングのための基礎的な概念となっている。 パーセプトロンとは 複数の信号を入力として受取り,1つの信号…

【ゼロから作るDeep Learning】1章 Python入門

本章ではPython(とNumPy、Matplotlib)が紹介されている。 Numpyにはブロードキャストという形状の異なる配列の演算が可能となる機能がある たとえば行列とスカラ値の掛け算を記述すると、スカラ値が行列に拡大されて演算が行われる 詳しくは下記を見ておく…

k近傍法でMNISTを解く

k近傍法分類器(k-nearest neighbor classifier)、略してKNNは、 lazy learnerの代表例である。 lazyと呼ばれるのは、その見かけの単純さからでなく、訓練データから識別関数を学習せず、 訓練データを暗記するため。 KNNのアルゴリズムそのものは非常に単純…