Coursera machine Learningに参加してみた

Coursera machine Learningに参加してみた

次のような理由でコースを途中でQuitした。
まだ、様々な基本知識の欠落がある。
オブジェクト指向言語を学習中。
5ヶ年計画で目標はAIのリテラシーが分かればよい。
でもコースのカリキュラムが知りたい。
そこでこのコースの章立てを紹介する。

Coursera machine Learning(スタンフォード大学)
講師:Andrew Ng
******************************************************
Introduction
Test
Linear Regression with One Variable
Test
Linear Algebra Review
Test
Linear Regression with Multiple Variables
Test
Octave/Matlab Tutorial
Test
Programming
Logistic Regression
Test
Regularization
Test
Neural Networks:Representation
Test
Programming
Multi-Class Classification and Neural Networks
Test
Programming
Advice for Applying machine Learning
Test
Programming
Regularized Linear Regression and Bias/Variance
Test
Support Vector Machines
test
Programming
Unsupervised Learning
Test
Dimensionality Reduction
Test
Programming K-means Clustering and PCA
Anomaly Detection
Test
Recommender Systems
Test
Programming
Large Scale Machine Learning
Test
Application Example:Photo OCR
Test
**************************************************
Testは80%以上で次に進める。
ProgrammingはOctave。
基本、数学は80%以上で先に進めたがそれ以降は途中でQuitした。(実力不足)

これで5年かけて徐々に計画を進めるとの方針が再び決まった。

話は変わりますが、クラウドを勉強するうえでQiitaで有用な記事を見つけたので将来ブログにアップしたいと思っています。
CNCFとは
CNCFは2015年7月に発表され、約50社が集まり2016年1月に正式発足した。最初の発表から4年後2019年11月のメンバーは約500団体で、大手クラウド事業者、ミドルウェア企業、ハードウェア製造企業、オープンソース・ソフトウェア企業、大学、その他非営利団体などが加入している。

(写真はY.O.氏から借用)

↑人気ブログランキングに参加しています。よろしければ1票を!

PowerShellのカスケードメニュー

PowerShellのカスケードメニュー

PowerShellのカスケード・メニューを新設しました。
同じくNHK超AI入門も新設しました。
ご利用ください。

NHK超AI入門メニュー


↑人気ブログランキングに参加しています。ポチっと1票を!

Numpyを使ってXOR条件を印書する

アイキャッチ画像はPythonのNumPyを使ってブーリアン代数XORを印書したところです。

Numpyを使ってXOR条件を印書する

アイキャッチ画像はPythonのNumPyを使ってブーリアン代数XOR(排他的論理和)を印書したところです。

↑人気ブログランキングに参加しています。よろしければ1票を!

Numpyを使ってNAND条件を印書する

アイキャッチ画像はPythonのNumPyを使ってブーリアン代数NANDを印書したところです。

Numpyを使ってNAND条件を印書する

アイキャッチ画像はPythonのNumPyを使ってブーリアン代数NANDを印書したところです。
AND条件は2018/11/25付の記事を参照願います。

↑人気ブログランキングに参加しています。よろしければ1票を!

集めた(または書いた)資料一覧

190702Index

集めた(または書いた)資料一覧

AI No.1バインダー

  1. Atomのインストール(各種パッケージのインストール)
  2. Emacs入門ガイド
  3. UBUNTUのインストール
  4. fdiskコマンドの書式
  5. Linuxのマウント(mount)について
  6. Linuxファイルシステムの種類や作成方法について
  7. Linuxパーティションとは?パーティションの区切り方を詳細解説
  8. Linuxのフォーマットの方法
  9. Ubuntu日本語フォーラム
  10. Ubuntu 18.04 LTS 日本語 Remix
  11. UbuntuのLive USBをつくる
  12. Installing on Linux(英文)
  13. Python開発環境設定
  14. Atomの実行
  15. OBJECT指向入門
  16. 外付けHDDにUbuntuをインストールするまで
  17. Recovery手順18-08-04
  18. 作業手順(外付けHDD)
  19. システムジェネレーションその4
  20. ライセンス認証済み
  21. WSLでmatplotlibやgnuplotがプロットできない
  22. AnacondaなしでAtomのHydrogenをいれる
  23. Windows Subsystem for Linux
  24. オブジェクト指向をより理解するために実際に書いて説明する
  25. オブジェクト指向と10年戦って分かったこと
  26. なぜオブジェクト指向は難しいのか
  27. 正しい名前を付けることが大切な理由
  28. Chromeを使うなら必ずServiceWorkerを無効にしよう
  29. オブジェクト指向のいろは
  30. 初心者向け独学でAIエンジニアになりたい人向けおすすめの勉強方法
  31. Python Flaskを使用したWebサーバーの作成
  32. What is GitHub?(英文)
  33. GitHubって何?(日本文)
  34. WSL(flask)とUSBのやり取り(Logなど)
  35. データベースコンソールの操作
  36. ローカル接続(データベース)
  37. 独自SSL証明書導入
  38. 今まで学習したこと(flask関連)
  39. Demoxx関連ジャーナル
  40. 機械学習/ディープラーニング初心者が2018年にやったこと、読んだ論文
  41. Deep Learning学習計画表(AI技術者になるために)(日本語)
  42. Octave入門
  43. 【Deep Learning入門】0から勉強して3ヶ月でポリープ検出AIを作った

AI No.2バインダー

  1. Coursera Machine Learning関連資料

AI No.3バインダー

  1. はじめにーディープラーニング入門:Chainerチュートリアル
  2. [2019年5月版]機械学習・深層学習トレンド・リンク150
  3. Qiitaでよい記事を書く技術
  4. NumPyとは?
  5. Deep Learning実践開発講座(DL4US)公開用リポジトリ
  6. 経験零から始めるAI開発
  7. PyCharmでライブラリをインストールする
  8. PyCharmの使い方
  9. NumPyでndarray型の配列を新規作成する方法
  10. Python学習手順

アイキャッチ画像は友人のY.O.氏から借用

↑人気ブログランキングに参加しています。よろしければ1票を!

numpyによる配列作成

numpyによる配列作成

① 配列0(整数)10個のリスト
② ①のデータ
③ 2行3列の実数1の配列
④ ③のデータ
⑤ 2行3列の整数1の配列
⑥ ⑤のデータ
⑦ 実数2.~10.を5等分する配列
⑧ ⑦のデータ
⑨ 単位行列(4行4列)
⑩ ⑨のデータ
⑪ 2行4列の配列の要素全てに3.14を埋める

以上

↑人気ブログランキングに参加しています。よろしければ1票を!

メニューの追加(Python,lions,NHK超AI入門,Linux,WSL,レジストリ,システムジェネレーションetc.)

メニューの追加(Python,lions,NHK超AI入門,Linux,WSL,レジストリ,システムジェネレーション,Atom,Emacs,markdown,Python,Flask)

「野生の証明」のメニューに「Lions」、「展覧会」、「食事」、「NHK超AI入門」、「Linux」、「WSL」(Windows Subsystem for Linux)、「レジストリ」、「システムジェネレーション」、「Atom」、「Emacs」、「markdown」、「Python」を追加した。
アイキャッチ画像は「Linux」、「WSL」のパスを示している。
①「活動」→「趣味」→「lions」
①-1「活動」→「趣味」→「展覧会」
①-2「活動」→「趣味」→「食事」
②「コンピューター」→「ソフトウェア」→「Deep Learning」→「NHK超AI入門」
③「コンピューター」→「ソフトウェア」→「オペレーティングシステム」→「Linux」(→「Flask」)
④「コンピューター」→「ソフトウェア」→「オペレーティングシステム」→「Windows10」→「WSL」
⑤「コンピューター」→「ソフトウェア」→「オペレーティングシステム」→「Windows10」→「レジストリ」
⑥「コンピューター」→「ソフトウェア」→「システムジェネレーション」
⑦「コンピューター」→「ソフトウェア」→「Editor」→「Atom」
⑧「コンピューター」→「ソフトウェア」→「Editor」→「Emacs」
⑨「コンピューター」→「ソフトウェア」→「Editor」→「markdown」
⑩「コンピューター」→「ソフトウェア」→「言語」→「その他の言語」→「Python(Object指向)」→「Python」

↑人気ブログランキングに参加しています。よろしければ1票を!

Chainerが作った「ディープラーニング入門」を紹介!

機械学習を勉強するには、いくつかの知識が必要です。それらを学ぶ上でいろいろな書籍やネットの情報が必要ですが、Chainerが出した「ディープラーニング入門」で必要十分です。

Chainerが作った「ディープラーニング入門」を紹介!

以下、DogFortune(Qiita)さんから引用。

機械学習を勉強するには、いくつかの知識が必要です。

• 統計や線形代数といった数学の知識
• Pythonを使うのでプログラミングの知識
• 画像処理、音声処理といった知識
• 学習を行う為のコンピューティングリソースの準備

それらを学ぶ上でいろいろな書籍やネットの情報が必要ですが、Chainerが出した「ディープラーニング入門」で必要十分です。
これはChainer Tutorialです。
最低限必要な知識がまとめて学べます。

このチュートリアルでは、機械学習を行っていく上で必要な最低限の数学とプログラミングを学んでいくことができます。
• Pythonの文法から条件式、クラスや継承といったところまであります。もちろんNumPyやCuPyもしっかりあります。
• 数学については、微分、合成関数、偏微分といった所もしっかり記述されています。これらを順番にこなすことで、機械学習を行ううえで、「なぜ必要なのか」をしっかり学んでいけます。
• 確率変数、確率分布も学べます。

ここまでしっかりと揃っているうえに、あちこちサイトを行き来しなくてもよい という所が非常に素晴らしいです。

ブラウザで学べる

機械学習の知識がついてきたところで、さぁやってみようと思った時に問題になるのが環境の構築です。数年前に比べたら比較的簡単に環境を構築できるようになってきましたが、フレームワークの進化も非常に早く、ネットの情報がすでに古いといった事も多いです。
このチュートリアルは、ブラウザ上で学ぶことができます。それも、資料の中に登場するコードがそのままブラウザ上で実行できる という所です。
資料はすべてノートブック形式になっていますので、解説とコードが同時に実行できるようになっています。なので、ただ読むだけの資料ではなく、実際にコードを記述してその結果も学ぶことができます。 これは非常にありがたいです。

Google Colaboratoryとして実行できる!!

これがこのチュートリアル最大のポイントです。先ほど資料はノートブック形式になっていると述べましたが、これがGoogle Colaboratoryで実行できるようになっている事です。
資料の上部にある「Open in Colab」ボタンを押すとすぐに開くことができます。
基本的にはJupyter Notebookと同じですが、Google Colaboratoryでは GPUリソースが利用できます。しかも無料です。
ですので処理の重い畳み込みニューラルネットワークも比較的短時間で体験することができます。GPUが絡むと途端に環境構築が大変になるので、ぜひ活用すると良いです。

まとめ

公式にもありますが、 このサイトだけで機械学習・ディープラーニングに入門できる事を目指して作られています。 基本的な知識はすべて網羅されているので、今から始めたい人はぜひ見てみてください。

章立ては次のようになっています。

Step1 準備編
。 1. はじめに
o 1.1. 必要なもの
o 1.2. Google Colaboratory の基本
o 1.3. Colab の基本的な使い方
• 2. Python 入門
• 3. 機械学習に使われる数学
• 4. 微分の基礎
• 5. 線形代数の基礎
• 6. 確率・統計の基礎
Step2 機械学習とデータ分析入門
• 7. 単回帰分析と重回帰分析
• 8. NumPy 入門
• 9. scikit-learn 入門
• 10. CuPy 入門
• 11. Pandas 入門
• 12. Matplotlib 入門
Step3 ディープラーニング入門
• 13. ニューラルネットワークの基礎
• 14. Chainer の基礎
• 15. Chainer の応用
• 16. トレーナとエクステンション

また今後次のような項目が登場するようです。

• 応用編:画像認識 (coming soon)
• 応用編:自然言語処理 (coming soon)
• 応用編:深層強化学習 (coming soon)
• デプロイ (coming soon)

以下Chainerから

「はじめに」

Chainer チュートリアルへようこそ。
このチュートリアルは、機械学習やディープラーニングの仕組みや使い方を理解したい大学学部生以上の方に向けて書かれたオンライン学習資料です。
機械学習の勉強を進めるために必要な数学の知識から、Python というプログラミング言語を用いたコーディングの基本、機械学習・ディープラーニングの基礎的な理論、画像認識や自然言語処理などに機械学習を応用する方法に至るまで、幅広いトピックを解説しています。
機械学習を学び始めようとすると、ある程度、線形代数や確率統計といった数学の知識から、何らかのプログラミング言語が使えることなどが必要となってきます。 しかし、そういった数学やプログラミングの全てに精通していなければ機械学習について学び始められないかというと、必ずしもそうではありません。
本チュートリアルでは、機械学習やディープラーニングに興味を持った方が、まず必要になる最低限の数学とプログラミングの知識から学び始められるように、資料を充実させています。
そのため、できる限りこのサイト以外の教科書や資料を探さなくても、このサイトだけで機械学習・ディープラーニングに入門できることを目指して、作られています。初学者の方が「何から学び始めればいいのか」と迷うことなく学習を始められることを目指したサイトです。
また、本チュートリアルの特徴として、資料の中に登場するコードが、Google Colaboratory というサービスを利用することでそのままブラウザ上で実行できるようになっているという点があります。
ブラウザだけでコードを書き、実行して、結果を確認することができれば、説明に使われたサンプルコードを実行して結果を確かめるために、手元のコンピュータで環境構築を行う必要がなくなります。
本章ではまず、この Google Colaboratory というサービスの利用方法を説明します。
1.1. 必要なもの
• Google アカウント(お持ちでない場合は、こちらからお作りください:Google アカウントの作成)
• ウェブブラウザ( Google Colaboratory はほとんどの主要なブラウザで動作します。PC 版の Chrome と Firefox では動作が検証されています。)
1.2. Google Colaboratory の基本
Google Colaboratory(以下 Colab )は、クラウド上で Jupyter Notebook 環境を提供する Google のウェブサービスです。Jupyter Notebook はブラウザ上で主に以下のようなことが可能なオープンソースのウェブアプリケーションであり、データ分析の現場や研究、教育などで広く用いられています。
• プログラムを実行と、その結果の確認
• Markdown と呼ばれる文章を記述するためのマークアップ言語を使った、メモや解説などの記述の追加
Colab では無料で GPU も使用することができますが、そのランタイムは最大 12 時間で消えてしまうため、長時間を要する処理などは別途環境を用意する必要があります。 学びはじめのうちは、数分から数時間程度で終わる処理がほとんどであるため、気にする必要はありませんが、本格的に使っていく場合は有料のクラウドサービスを利用するなどして、環境を整えるようにしましょう。

chainerチュートリアル

(以上Qiitaの記事-DogFortune-及びChainerのはじめにを引用させていただきました。)

↑人気ブログランキングに参加しています。よろしければ1票を!

NHK超AI入門第1回会話する

2018年11月中国 AIアナウンサー 全世界に衝撃を与えた。私たちAIは徳井さんの声だって作れます。早口言葉だって得意です。

190110

NHK超AI入門第1回会話する

2018年11月中国 AIアナウンサー 全世界に衝撃を与えた
私たちAIは徳井さんの声だって作れます。
早口言葉だって得意です。
リラックスして冗談も言えます。
モントリオール大学 ヨシュア・ベンジオ教授
AI研究でこれから進歩すべきは本当の意味で言語を理解する能力で、コンピュータが私たちと交流するようになれば言葉の本当の意味をより深く理解できるようになるのです。
言葉の意味理解 会話することの本質はなんだ。
ディープラーニング 深層学習
その仕組みは人間の脳をまねたもの
1000億に上る神経細胞(ニューロン)のつながり、隣のニューロンから信号を受け一定程度情報がたまったのち次から次へと伝えていくことで情報を処理する。ニューラルネットワークはこれを再現、丸い球がニューロンの代わりになって、そのつながりに様々な信号を繰り返し送る。それがディープラーニングという学習法です。
加藤綾子 フリーアナウンサー
AIが自分の仕事を奪ってしまうのか興味と恐怖心どちらも感じている。
AIが仕事を奪う。
中国のAIアナウンサーは実際のアナウンサーをディープラーニングで学習したAIアナウンサー。
坪井一菜さん AI開発者
女子高生AI リンナ
お友達登録して割と会話している。
徳井さんとリンナの出会いは約一年前作家村田さやかさんの紹介で。
電話のように会話 女子高生っぽい言葉。AIが目指すのは人間が友達とかわすような会話?会話のキャッチボールを心地よく経験を積むリンナ。ユーザーは740万を超えたそうです。17時間をしゃべり続けたユーザーもいるそうです。
加藤 暇つぶしに使えそう。
坪井 雑談で相手のことも知って仲良くなる。
人間は会話の時少しの飛躍を楽しんでいる?
リンナの会話 今は第3世代 共感モデル
会話を続けたいのか、ほかの話題に移りたいのか判断する。ちょっと前の会話の情報を見て今は何をしたらよいのか決めている。
共感
自然な会話を続けるための対応。
相手に新しい話題を切り出す。
質問する
相手の発言を肯定
聞き手に回る
挨拶を返す
→自然な会話をしている
技術的には?(松尾)
シーケンスツーシーケンス(坪井)Seq 2 Seqと略
相手の意図を判断するAIと返答を生成するAI.
Seq 2 Seq
こんにちは こんにちは
ディープラーニング 会話のやり取りを学習する
RNN(リカレント ニューラル ネットワーク)
AIはどのように会話している?
そもそも相手から受け取った文章がポジティブな内容かネガティブな内容かを判断
今日はみんなで焼き肉だ
品詞ごとに分解
文章全体の文脈からニュアンスを解析
過去の多くの文章から習得できる。
分析結果を利用
単語ごとにプラスのニュアンス、マイナスのニュアンスをバラバラに分析
かなり人間に近づいてきた。
Seq 2 Seq
エンドオブセンテンス(EOS)文章の終わり
相手の言った情報が全部たまる
ちゃんとした会話になる
RNNを改良したSeq 2 Seq
単語から文章へ 文章から段落へ意味のまとまりを広げていく。やがて論文などの文章、場の空気まで理解することができる。
ヤン・ルカン(フェイスブック人工知能研究所所長)
会話する技術が翻訳にも役立つ。RNN(リカレント ニューラル ネットワーク)
はまた異なったものでとても頻繁に文などの一連のデータ(の処理)に使われます。たとえば英語から日本語にある文章を翻訳した場合、一単語ずつ読み取り意味表現を組み立てます。これは簡単に言えば長い数字のリストです。この長い数字のリストから日本語を正しい順番で出力するため別のニューラルネットワークに入力されます。つまりリカレント(=再帰する)ネットワークです。基本的に文の長さによりネットワークの大きさも変わるのが特徴です。
RNN Seq 2 Seqの発達でAIは文章の受け止めを行えるまで来た。
金田隆志さん 音声合成開発者
抑揚がある、人間っぽい
Deep Learningの技術によって感情表現に近いようなことができるようになった。
AIも感情表現ができるようになった。
言葉の意味を知らなければなりません。それが最大の課題です。
中国語の部屋(哲学者 ジョン・サール)
ある文字列が入ってくるとマニュアルに従って対応する文字列を出力する。なにも理解していなくても会話が成立する。つまり意味が分かっているとみなされてしまうのです。→意味が分かるってどういうこと?
Colorless green idea sleeps furiously.
色のない緑のアイデアが眠る激しく。
文法はあっているが意味不明
意味が分かるということは矛盾していないってこと。
ノーム・チョムスキー(アメリカの言語学者)
現実から遊離したシュールリアリズム
気持ちが悪い
人間というのは言葉を使う(2階部分)
      言語のレイア(2階)
ーーーーーーーーーーーーーーーーーーーーー
環境  知覚する → ← 運動(一階)
作り出す イメージする  意味理解
ほっそりしていてもぽっちゃりしていても猫は猫
ヤン・ルカン
ディープラーニングがここ数年で大きな進歩をもたらした。AIに自動的に学習させ概念と概念の関連性を見出せるようになりました。AIに世界を観察させたくさんの概念を身に着けさせることも期待できる。概念の集合は私たちが「常識」と呼ぶものになるのです。世界についての十分な概念が集まればAIにも「常識」が芽生えてくるはずです。
アメリカ ワシントン州 レドモンド
マイクロソフトリサーチ
ここである意味理解につながる研究が行われています。
人工知能研究者        人工知能研究者
ペンツァン・チャン      チウユアン・ファン
私たちがやっているtext-to-image(文章から画像を生成)の研究をお見せします。「ドローイングボット」と一般的に呼ばれるものです。このAIは自然言語で1つの文を入力するとそれに沿った画像を返します。
「この鳥は赤くて白くてとても短いくちばしを持つ」と入力すると例えばこの鳥
この鳥は赤くて白くてくちばしもとても短い。
この鳥もすごくリアルに見える。ほかのどの鳥とも違う。
他の文章を入れてみましょう。
「頭と胸がピンク 先端と真ん中の風切り羽が黒い」
こんな複雑な文章でもだからここは黄色いし頭が黒くなっていてくちばしも短い。
でも鳥はいろいろポーズをとっている→背景も違う
これはAIの力だ。AIは自然言語の説明にあるちょっとした不確実性を補完できる。そして画像をより詳細なものにできる。text-to-imageという純粋な自然言語の説明を元に画像を生成する研究は始まったばかりだ。長期的目標は機械の概念を人間の概念に近づけることだ。機会が人間と同じような理解を持つようにしたい。
→近い将来AIも人間と同じ概念を手に入れる!?
ヨシュア・ベンジオ教授
脳のニューロン1つ1つにデータ処理能力はないのです。それがルールに従うように集まってシステムを成します。シグナルを受けシグナルを出す。大量のニューロンが力を合わせると非常に知的な能力を発揮するのです。この仕組みは脳でもコンピュータでも同じことです。学習を適切に繰り返せばいつかAIは人間と同じ知性を持つのでしょうか。そしてAIが人間の話すことを本当に理解し会話する日は来るのでしょうか。私たちの体や脳は言ってみれば物理法則に従うだけ、ただ非常に複雑なシステムだという科学的な視点をとるならば私たちは本質的に機械なのだとも言えます。ランダムな「でたらめさ」があったり複雑ですが我々は機械なのです。機械としての人間について理解をしっかり積み重ねていけば、その理解を応用して知的な機械を組み立てることもできます。それこそが私たちのデザインした新たな人工知能なのです。これを受け入れない人もいます。私たち人間は絶対に違う、どんな機会にも再現できない知性を持つと信じる人もいます。なぜなら人間には何か自然を超えた「魂」のようなものがあると。それはしばしば宗教的な信念とも結びついています。しかし科学的な視点から言えば本当にそんなものはないのです。私たちは単なるシステム。ただし壮大で複雑な機械なのです。いつの日か必ず知的な機械を作ることができる。できない理由はありません。その前に地球が滅亡しなければの話ですが。
松尾
二階建ての二階部分がどんどん進展していて人間を超える部分もできてきている。「一階」「二階」が連動して、人の意味理解、言葉の扱いを大きく超える技術が比較的近い将来に出てくるのではないかと思います。二階部分だけなのにすでに人間を超えているのはデータが多いから。一階部分が分かった上にさらにデータが多いから圧倒的に人を超える意味処理がいずれ可能になる。
実現するのは(私見だが)5~10年先ではないか?
AI:人間の皆さんは四季を感じて和歌や俳句を詠みますよね?
皆さんの感性に私たちAIも追いつくかもしれません。
「人間ってなんだ」

↑人気ブログランキングに参加しています。よろしければ1票を!