マガジンのカバー画像

ディープラーニングに挑戦するよ

39
最近はやりのAI(ディープラーニング)のプログラミングに挑戦するお話です。ディープラーニングの理論だけでなく、ソースコードも併記して少しでもわかりやすく努めてます。応援よろしくお…
運営しているクリエイター

#numpy

第34話 オリジナルAIの実装失敗・・・そこから見えた新しい世界

約4ヶ月の学習期間を経てようやくディープラーニングを実装できるだけの知識が備わったので、学んだことを活かしてオリジナルAIを実装しました! そしてタイトルに書いたとおり見事に失敗しました^^; でも失敗したとはいえ、大きな学びがありました^^v 今回は次の観点からお話し ・AIを実装するまでの思考のプロセス ・プログラムの実行結果、考察 ・結果から得た学び どんなAIを作るのか今回AIで実現したいことはこれです。ドゥルルルル〜ジャン! 「細胞を数えるAI」 ・・・えっ

第32話 地味だけど利く ディープラーニングを成功させる小技8選

ディープラーニングとは、多層化したニューラルネットワークによる学習を指しますが、多層化することに伴い様々な問題が発生すること前回勉強しました。(詳細はこちらからどうぞ) 今回はそれらの問題点に対する対策を学習します。 問題点と対策をまとめると下表のようになります。 今回はこれらの対策について、1つずつ学習していきます。 ぶっちゃけ対策自体は地味です。(個人的にはドロップアウト以外は地味) 地味ですが、問題を解決するのには効果があります。 ディープラーニングの問題点を克服す

第31話 ディープラーニングの問題点

ディープラーニングの勉強を始めて苦節3ヶ月ちょい、やっとディープラーニングを勉強するための下地が整いました! 長く苦しい道のりでした。 未知のコンピュータ言語Phython、退屈な数学を乗り越えついにここまでやってきました。 ここまで頑張れたのも、こんなマニアックな記事を読んでくださる方がいるからです。 いつもありがとうございます。 さてこれからディープラーニングを本格的に学んでいくわけですが、今回の学習内容はディープラーニングの代表的な問題についてです。 それでは学習

第30話 実装!分類問題バックプロゲーション

新型コロナウイルス対応で会社の勤務時間が変わって、なかなか時間を取るのが難しくなってきましたが頑張っています! 今回は分類問題のバックプロゲーションの実装です。(バックプロゲーション=自動学習アルゴリズム) ネットワークにx,y座標を入力し、sinカーブを境界線として領域をA,Bに分類する例をやってみます。 結論から言ってしまうとめっちゃキレイに分類してくれます、自動で!バックプロゲーション半端ないです。 ちなみに回帰問題のバックプロゲーション実装はコチラ→第28話、29

第29話 実装!回帰問題バックプロゲーション ソースコード解説編

前回は、回帰問題のバックプロゲーション実装例ということで、ソースコードとその出力結果を紹介しました。 今回はそのソースコードの詳細を解説していきます。 というのも、いきなり小難しいソースコードの詳細を解説されても読む気がしなくなると思って、先にソースコードと実行結果を示しました。 頂上の見える山登りと見えない山登りだったら、前者の方が良いでしょう? さて、前回実装ニューラルネットワークは次のようなものでした。  入力層:ニューロン数1  中間層:1層、ニューロン数1(は

第28話 実装!回帰問題バックプロゲーション 実行結果編

第20話からバックプロゲーションについて学習してきましたが、実装するための準備(必要知識の習得)がついに整いました! いよいよ待ちに待ったバックプロゲーションの実装です。 今回は回帰問題の学習の例として、バックプロゲーションによりニューラルネットワーク(以降NNと呼ぶ)がsin関数を学習する様子を観察します。 それでは学習を始めます。 NNの諸設定今回は次のようなシンプルなNNで学習することとします。  入力層:ニューロン数1  中間層:1層、ニューロン数1(はじめは1

番外編 matplotlibグラフの諸設定方法 -フォント、マーカ・線、凡例位置-

Pythonのmatplotlibを使ってグラフを描くとき、色々な設定が可能なのでまとめてみました。 内容は次のとおりです。 ・フォントの設定 ・マーカ、線の設定 ・凡例位置の設定 ・サンプルコード とは言っても、この記事で全ての設定方法を網羅しているわけではないのでご了承ください。 フォントの設定フォントは設定できるパラメータがいくつかあります。 マーカ、線の設定 plot、scatterで使える設定です。 色、マーカ、線は  'rx-'   (色:赤、マーカ:x

第8話 ディープラーニングに必要な数学知識 -総和・ネイピア数・自然対数-

AI(ディープラーニング)のプログラムを作ることを決意し、勉強を初めて早1ヶ月。 教科書「はじめてのディープラーニング」(我妻幸長著)の学習を進めて、3章「ディープラーニングに必要な数学」に突入しました。 これからしばらくは数学のお勉強です。 今回の学習は高校数学について。 具体的な内容は次のとおりです。 ・数列の総和 Σ(シグマ) ・ネイピア数 e ・自然対数 log ・(余談)数学の関数とプログラミングの関数の違い ちなみに学習の進捗状況はこんな感じです。 それ

第7話 Pythonを学ぶ -matplotlibを用いた描画-

AI(ディープラーニング)のプログラムを作るべくNumPyというPythonの拡張モジュール(ツール)を勉強しています。 今回はその4回目でmatplotlibを用いた描画を行います。 内容は次のとおりです。 ・matplotlibのインポート ・グラフの描画 ・グラフの装飾 ・画像の表示 「はじめてのディープラーニング」(我妻幸長著)を教科書に学習を進めていますが、進捗状況は次のような感じです。 先は長い、というよりまだスタート地点にも立てていないというべき状況ですw

第6話 NumPyを学ぶ -ディープラーニングで多用する関数 sum,max,argmax,where-

AI(ディープラーニング)のプログラムを作るべく奮闘しています。 そして今はNumPyというPythonの拡張モジュール(ツール)について学習中です。 今回はその3回目で、ディープラーニングでよく使用するNumPy関数を取りあげます。 内容としては次のとおりです。 ・sum関数 ・max関数 ・argmax関数 ・where関数 ではスタートです! (参考図書 「はじめてのディープラーニング」我妻幸長著 2章Phythonの概要) sum関数エクセルでもよく使用する

第5話 NumPyを学ぶ -配列を演算・抽出・軸の入れ替えしてみたよ-

NumPyというPythonの拡張モジュール(ツール)について学んでいます。 今回はその2回目で、内容としては次のとおりです。 ・配列の演算 ・ブロードキャスト(形状が揃っていない配列の演算) ・要素へのアクセス ・配列の抽出(スライシング) ・軸の入れ替え(transpose、転置) ではスタートです。 (参考図書 「はじめてのディープラーニング」我妻幸長著 2章Phythonの概要) 配列の演算早速演算をやってみます。まずは簡単なものから。 配列のすべての要素に数字

第4話 Python便利ツールNumPyを学ぶ -インポート、配列を生成・形状変換してみたよ-

NumPyというPythonの拡張モジュール(ツール)について学んでいます。 (参考図書 「はじめてのディープラーニング」我妻幸長著 2章Phythonの概要) NumPyの特徴は次のとおりです。 ・シンプルな表記で効率的なデータ操作が可能 ・多次元配列の扱いが得意 ・内部はC言語で実装されているため動作が高速 なにやら凄そうです。 今回の学習内容は次の3つです。 ・NumPyのインポート ・配列の作り方、配列を作る関数 ・配列形状の変換 では学習に入ります。 Nu