ここから本文です
AI(人工知能)& IoT
AIとIoTについて、ともに学びましょう。

書庫全体表示

記事検索
検索

全5ページ

[1] [2] [3] [4] [5]

[ 次のページ ]

 ニューラルネットワークの「教師あり学習」で、度々発生してしまうものに「過学習(Overfitting)」があります。「過学習」とは、学習データに適合しすぎて、学習データでは「正解率(accuracy)」が高いのに評価データでは正解率が低くなってしまう、つまり、学習データだけに最適化されてしまうことです。予め用意した学習データでの正解率が高くても、実際の運用では役に立ちません。
 
◆「過学習」を抑制する方法
① 学習データの数を増やす。
 学習データの数が多ければ多いほど、学習データのバリエーションが増えていき、未知の「まだ見ぬ」データに近づいていくので、最も良い解決策と言えます。学習データが収集出来ない場合には、手作りでの加工や機械的にクローンデータを水増しするなどが必要になります。
② モデルを簡単なものに変更する、又は、ドロップアウトする。
 モデルを簡単なものに変えてしまうというのは、リスクもあってなかなか難しいので、ドロップアウトという方法があります。多層ネットワークの各層のユニットを確率的に選別して、選別したもの以外を無効化します。
イメージ 2

③ 正則化する。
 正則化(regularization)というのは、パラメーターの値が大きくなりすぎるのを防いで、小さい値に近づけていくことで、変数の影響を抑える数学的な手法、すなわち、不要なパラメータの影響を小さくすることで複雑なモデルを単純なモデルに変えていきながら、過学習を防ぐということです。

◆学習曲線からの過学習検知
 既に得られているデータを例えば9:1の割合で訓練データとテストデータに分け、訓練データを過去や現在のデータ、テストデータを予測されるべき将来のデータとして見なし、次に訓練データの学習をした後に、テストデータを用いてモデルがどれだけ上手く将来の値を予測出来るのかを評価します。訓練データの学習は上手くいくが、テストデータに対する学習は上手くいかないことを「過学習(Overfitting)」と呼んでいます。それは訓練データに現れないようなデータがテストデータに含まれる場合があるということです。

 ニューラルネットワークの学習においては、ニューラルネットワークの出力と正解のラベルの差を意味する「loss」を最小化することが目標になります。「loss」の値については「train loss(学習時の値)」「test loss(テスト時の値)」の2種類の「loss」が存在します。「loss」は正解とどれくらい離れているかという数値で、「0」に近づくほど正解に近いことになります。

イメージ 1

 この「train loss」と「test loss」の推移は、「学習曲線」から見ることができます。「train loss」と「test loss」が学習時に乖離していくことを「過学習」と呼び、深刻な過学習ほどそれらの学習曲線は乖離していくことになります。最も低い「test loss」になるときのモデルが、一番上手く学習できているモデルだと考えられます。これらの過学習現象を防ぎ、予測性能を向上させるために、「ドロップアウト(Dropout)」や該当レイヤーに入力されるバッチサイズ分のデータだけに対して正規化を行う「バッチ正規化(Batch Normalization)」といった手法を使い、各種パラメータを調整することが必要となります。

参考
AI研究所:「AI入門ブログ」AIが学習しすぎる?「過学習」問題とそれを抑制する方法(https://ai-kenkyujo.com/2018/10/16/kagakushu/)
∞ReNom:学習曲線からの過学習検知(https://www.renom.jp/ja/notebooks/tutorial/basic_algorithm/Detecting_overfitting_problem_from_learning_curve/notebook.html)
sonickun.log:【Deep Learning】過学習とDropoutについて(http://sonickun.hatenablog.com/entry/2016/07/18/191656)

この記事に

開くトラックバック(0)

 本格的に人工知能の開発を行うには、人工知能のアルゴリズムを考えたり、既存のアルゴリズムを理解したりすることが必要で、また、数学的な知識を学習する必要がありますが、人工知能はプログラムの集合体で、そのソースコードはプログラミング言語で記述されています。プログラミング言語には得意・不得意があるため、どのプログラミング言語を選択するかが重要です。人工知能の開発に使われる主なプログラミング言語を紹介します。

【python】
 人工知能の開発で一番使われている言語。Pythonの特徴は文法を極力単純化することでプログラマーの負担を減らし実装速度を向上させている。誰が書いてもだいたい同じようなソースコードになり、わかりやすいという特徴もある。pythonは完全にフリーソフトかつオープンソースであり、インターネット上から無料で標準ライブラリやサードパーティー性の大規模なツール群が用意されており、様々な分野で利用可能。人工知能の開発に役立つライブラリも登場してきている。

【C】
 JAVAなどのより世代の新しい言語の登場後、存在感が低下したといわれることもあるC言語だが、人工知能の開発ではむしろJavaよりも存在感がある。メモリやCPUなどのハードウェアリソースを意識して記述する難しさがあるものの、限られたハードウェアリソースを有効活用しなくてはならない組込みシステムなどではむしろメリットとなる。また、ハードウェアリソースを有効活用するため、同じ機能を実行するソースコードを書いた際、pythonやJAVAよりも圧倒的に実行速度が速い、という特徴もある。

【C++】
 C言語にオブジェクト指向という概念を追加したC言語の拡張言語。JAVAを初めて、Ruby、Perl、C言語と互換性があり、C++単体で使われるというよりも、C言語と組み合わせて使われることが多い。人工知能の開発においても、C/C++での実装が多い。

【JavaScript】
 Webアプリ開発では外せないプログラミング言語であるJavaScriptによる人工知能の開発例もある。JavaScriptはよくJAVAと混同されるが、まったく異なるプログラミング言語。実際、開発当初はLiveScriptと呼ばれていた。JavaScriptの実装例としては一部の動画サイトなどがあげられる。ブラウザーで出された操作指示がサーバに即時反映される、という特徴がある。さらに、Webブラウザー上で動くので、利用者の環境への依存度が低いというメリットもある。弱点は、Webブラウザーでいろんな人に使ってもらえる人工知能を作ろうとすると、それだけ必要なハードウェアリソースが増えていくこと。

【JAVA】
 JAVAの特徴は汎用性。30億のデバイス上で走るJAVA、というスローガンもあったが、Windowsはもちろん、LinuxやUNIX、macOSやandroid上でも動作する。主要なOSでJAVAが動かないのは、iPhoneに採用されているiOSくらい。つまり、JAVAで構築すれば、様々なデバイス上で利用できる便利な人工知能が開発できることになる。また、JAVAには一つ大きなデメリットがあり、それはJAVA仮想マシン(Java VM、JVM)の存在。多くのアプリケーションは、OSの上で実行されるが、JAVAで開発されたアプリケーションはJAVA仮想マシン上で動く。つまり、JAVA仮想マシンを展開しなければJAVAで開発されたアプリケーションは動作しません。普通にアプリケーションを動かすだけでなく、JAVA仮想マシンを展開するためにもハードウェアリソースを割く必要があり、人工知能の開発言語としては、その点がマイナスポイントになっている。

【R】
 R言語は統計解析向けのプログラミング言語。オープンソースかつフリーソフトで、かつ統計解析向けプログラミング言語として非常に充実した機能を持っており、データサイエンスの分野では絶対に外せない言語の一つとなっている。データサイエンスとは、簡単に言うと、ビックデータを解析しビジネスなどに役立つ新たなナレッジを生み出す作業。その作業ために必須なのが統計であり、そして統計を取り扱う際、最良のプログラミング言語なのがR言語。

【Julia】
 Julia は2009年に開発が始まり、2012年にオープンソースとして公開された比較的、新しいプログラミング言語。Juliaの特徴は処理速度に力を入れており、動的言語の中では屈指の速さを誇っているが、コンパイルが不要な代わりに、コンパイル時に行われるコード変換などの処理が実行時に行われるため、処理が遅くなってしまうという欠点があり、処理速度は、C言語の約50%。とは言え、Pythonだと10倍かそれ以上かかるので、Juliaの速さは桁違い。また、浮動小数点数計算、線型代数学、高速フーリエ変換、正規表現照合のライブラリなども用意され、機械学習や人工知能開発を意識して開発されたのは明らか。

AIで使われる言語の歴史を知るには、下記のweb記事がお勧め。



参考:
ITプロパートナーズ :人工知能はどのプログラミング言語で作成するのが良いのか?(https://itpropartners.com/blog/11534/)

この記事に

開くトラックバック(0)

【チューリングテスト】
  チューリングテスト(Turing test)とは、アラン・チューリングによって考案された、ある機械が知的かどうか(人工知能であるかどうか)を判定するためのテストで、人間の判定者が、別の人間と機械に対して通常の言語での会話を行う。このとき人間も機械も人間らしく見えるように対応。参加者はそれぞれ隔離されており、判定者は、機械の言葉を音声に変換する能力に左右されることなく、その知性を判定するために、会話はたとえばキーボードとディスプレイのみといった、文字のみでの交信に制限。判定者が、機械と人間との確実な区別ができなかった場合、この機械はテストに合格というテスト。
イメージ 1
チューリングテストの「一般的解釈」。質問者であるプレイヤーCは、
AとBどちらのプレイヤーがコンピュータでどちらが人間か回答しなければならない。
質問者が回答のために使えるのは、文字上の質問に対する返事に限られる。
(ウィキペディアより)

  チューリングの1950年の論文『計算する機械と知性』では、9つの反論が想定されており、論文が初めて発表されてから出された、人工知能に関する主要な議論がこの中にすべて含まれている。

  2014年6月7日、ロンドンのテストに「13歳の少年」の設定で参加したロシアのスーパーコンピューターが、30%以上の確率で審査員らに人間と間違われて史上初めての「合格者」となった。

【中国語の部屋】
  ジョン・サールは、1980年の論文『心・脳・プログラム』(Minds, Brains, and Programs)の中でチューリングテストに対する反論をした。これは「中国語の部屋」として知られる。英語しかわからない人が部屋にいる。その部屋には、中国語がわからなくても、中国語の文字を書いてあるとおりに置き換えると、中国語の受け答えができてしまう完璧な説明書がある。つまり、この部屋の人は、英語しか分からないが、中国語の質問に中国語で答えることができる。ということは、中国語の受け答えができるだけでは、中国語が分かるとは限らないことになる。同様に、まるで知能があるような受け答えができるかを調べるというチューリングテストに合格しても本当に知能があるかは分からない。単に理解していない記号を処理しているだけでも、以前紹介した「ELIZA」のようなソフトはチューリングテストに合格できる。理解していないのなら、人間がやっているのと同じ意味で「思考」しているとはいえない。したがって、チューリングテストは機械が思考できるということを証明するものではないという結論。

参考
ウィキペディア:チューリングテスト
人工知能学会: 人工知能の話題「チューリングテストと中国語の部屋」
https://www.ai-gakkai.or.jp/whatsai/AItopics3.html

この記事に

開くトラックバック(0)

 10月10日グーグルは、AI機能を強化したスマートフォン「Google Pixel 3」(5.5インチ)と「Google Pixel 3 XL」(6.3インチ)を、11月1日に日本で発売することを発表しました。

イメージ 1

 特にAI機能が強化されており、端末の側面を握ると「Google Assistant」が起動。また「Pixel Stand」に乗せた状態で話しかけると、スマートスピーカのように使うこともでき、店内などのBGMを検出すると、その楽曲名を表示する「Now Playing」機能も搭載しています。

 人間のように会話できる音声AI技術「Google Duplex」をベースとした「Call Screen」機能を実装。電話着信時にCall Screen機能を選択すると、AIに応対させながら、ユーザーが引き継ぐか定型文で返答させるかを選択できます。「あなたは誰か」「後ほど掛け直します」といった選択肢から必要に応じてAIに喋らせることができるほか、迷惑電話であれば着信拒否にすることもできます。なお、会話はスクリーン上に表示され、ユーザー側で逐次確認できます。

 カメラは、AIによる補正を強化。被写体が遠くにある場合は、火星探査の技術を応用した「超解像ズーム」を使って、鮮明な望遠写真を撮影できるといいます。これは、写真を複数枚合成して実現しているとのこと。また、機械学習を用いた「夜景モード」機能を搭載。
 「トップショット」機能では、写真を撮るとAIがシャッターを押す前後の画像を解析して、写っている人たちが目を開いて笑顔でカメラを向いた瞬間をレコメンドしてくれ、シャッターを押すタイミングがズレてしまっても、複数の写真から最適な1枚を選んでくれます。
 「フォトブースモード」を選ぶと、笑顔などをAIが検出して自撮り写真を撮影できるため、シャッターボタンに指を伸ばす必要がありません。
 「ポートレートモード」では、iPhone XSなどと同様に、撮影後に背景をぼかしたり焦点をズラしたりできます。さらに、被写体だけに色を残して、背景を白黒にするといった加工も可能です。このほか、動き回る仔犬や子どもなどを動画で撮影する際も、「モーションオートフォーカス」によって、ピントを自動で合わせてくれるということです。

 カメラで撮影した被写体を識別し、似た商品を検索できる機能「Google Lens」も日本語で利用でき、目の前のものを調べたい時に、Pixel 3のカメラを向けて画面を長押しすることで、レストランのメニューを翻訳したり、よく似た洋服を探したり、植物について調べたりすることができます。名刺やメールアドレスにカメラを向けて、「連絡先の追加」をするといったことも可能です。

 高精度なAR技術「Playground」では、3Dキャラクターとカメラが撮影している実際の風景をリアルタイムで合成します。例えば、スクリーン内で動き回るマーベルのキャラクターと一緒に自撮りすることもできます。

 AIが得意とするところは、画像認識と自然言語処理ですが、その両方をうまく利用していると思います。手で打ち込む時代は過ぎ去ろうとしているのかもしれません。


参考
CNET Japan:グーグルの「Pixel 3」がついに日本発売へ--カメラが大幅進化、ドコモらも取扱い
https://japan.cnet.com/article/35126768/?tag=rightMain
CNET Japan:グーグル、新型スマホ「Pixel 3」とタブレット「Pixel Slate」発表--「Home Hub」も
https://japan.cnet.com/article/35126750/

この記事に

開くトラックバック(0)

AIで何が出来るかを知るために、富士通のAI[Zinrai]の機能をwebページよりまとめてみました。主だったものは網羅していると思います。参考にして、AIで何がしたいか、何ができるか、考えてみてはどうでしょうか。

◆文書翻訳
ビジネス文書の翻訳もAIにおまかせ
入力したテキストをZinraiが翻訳。ニューラル機械翻訳により瞬時に自然な翻訳を実現。
イメージ 1

【特徴】
・プロの翻訳家レベルの訳質が得られるニューラル機械翻訳
・ユーザー辞書、翻訳メモリにより翻訳結果をカスタマイズ
・ビジネスの効率化を支援
・テキスト翻訳にだけでなく、Outlook、Skypeへの組み込み、Office、PDFファイルの丸ごと翻訳で、ビジネスの効率化を支援。
・翻訳データは保持せず削除
・対応言語:日本語と英語に対応。
・様々な端末に対応:PC、スマートフォン、タブレットなど。

【活用イメージ】
・社内ビジネス文書の翻訳
・コミュニケーションの活性化

◆手書文字列認識
高精度な手書き文字認識により業務高度化を実現
フリーピッチの手書き文字列を認識。
イメージ 2

【特長】
・異種深層学習モデルで文字の区切りを正しく判別
・言語モデルの活用による認識精度の向上

【活用イメージ】
・宛て名の読み取り

◆FAQ検索
入力した質問文に対して、FAQデータと学習済みモデルから適切な回答を検索
質問文に対して、あらかじめ学習した対応履歴から適切な回答を検索し、確度の高い順に表示。
イメージ 3

【特長】
・自然文入力
・確度付き回答
・継続学習による精度向上

【活用イメージ】
・コールセンター
・公開FAQ

◆対話型Bot for FAQ
対話を繰り返して引き出した情報から、適切な回答を導き出す
普通の言葉で対話していくなかで、問い合わせに対して適切な回答を見つける。
イメージ 4

【特長】
・自然文による対話
・継続学習による回答精度向上
・様々な端末に対応

活用イメージ
・コールセンター・ヘルプデスク

◆画像認識
事前に学習させたモデルを使用した優れた画像認識
画像から物体やシーンなどの情報を認識。画像分類、シーン分類、物体認識の3種類がある。
イメージ 5

web上で体験デモを試せます。デモを試した結果。
イメージ 6
任意の画像も試せます。

【特長】
・リアルタイム
・すぐに利用可能
■画像分類
物体が写った画像から何が写っているかを推定。
■シーン分類
風景が写った画像からどのような情景が写っているかを推定。
■物体認識
複数の物体が写った画像から、それぞれ何が写っているかを推定。
・様々な端末に対応

【活用イメージ】
・写真管理

◆手書文字認識
ディープラーニング技術により、高水準の認識精度を実現
手書き文字が書かれた画像から、文字を認識。
イメージ 7

【特長】
・リアルタイム
・クセのある文字を推定
・様々な端末に対応

【活用イメージ】
・申し込み書類
・アンケート
・領収書の宛名
・宅配便の宛名

◆音声テキスト化
音声を高い精度で文字に変換
認識した音声を文字(テキストデータ)に変換。
イメージ 8

【特長】
・高速かつ高精度
・多数の新語や固有名詞を含む業務にも適用可能
・雑音のある環境でも変換
・対応言語:日本語と英語
・長い音声も変換可能
・様々な端末に対応

【活用イメージ】
・コールセンター
・店舗や病院
・自動応答システム
・プレゼン・スピーチの文字起こし
・会議録
・アプリ操作

◆音声合成
人間らしい自然な合成音声
入力した文字を音声に変換。また、音声変換時に参照する単語辞書に専門用語などを登録することで、特殊な言葉をより正確に発音。
イメージ 9

【特長】
・リアルタイム
・対応言語、声の種類
 日本語と英語
 日本語は男声2種、女声2種
 英語は女声1種
・表音文字列生成機能
・辞書管理機能
・様々な端末に対応

【活用イメージ】
・構内放送
・音声ガイダンス
・自動応答システム

◆感情認識
話している人の声から満足度を定量化
入力された音声データを解析、声の高さとその変化パターンから満足度を推定。推定結果は満足度を数値化。満足度スコアは1秒単位で推定。また、満足・不満足の音声区間(時間)を推定、いつ満足していたか、いつ不満足だったかを検証。
イメージ 10

【特長】
・声の高さとその変化パターンから推定した満足度を数値化
・満足度スコアにより、満足/不満足の切り分けが容易
・1秒ごとに満足度スコアを推定
・様々な端末に対応

【活用イメージ】
・コールセンター

◆自然文解析
自然文から必要な情報を取得
自然文を解析し、文章から人名や地名などの固有名を抽出。また、文章の文脈を解析し、その文章に書かれている内容を分類。 固有名抽出、文章分類、地名・座標推定の3つの機能がある。
イメージ 11

【特長】
・同じ単語でも文脈から人名・地名などを区別して抜き出す固有名抽出
・使われている単語が同じであっても、異なる文章として区別する文章分類
・話題になっている地名・座標を確度の高い順に推定
・学習機能を用いたルール作成や精度向上
・様々な端末に対応

【活用イメージ】
・お問い合わせの分類
・特定施設や住所、利用時間などの抽出
・事故・災害情報
・個人情報の自動削除
・迷惑メールのフィルタリング

◆知識情報構造化
専門家の見方で大量文書を構造化
文書を特徴づけるキーワードを抽出し、それらのキーワードを元に文書間の関係を構造化。あらかじめ専門家の知見を学習することで、専門家視点での知識情報構造化が可能。
イメージ 12

特長】
・専門家の見方で構造化
・様々な端末に対応

【活用イメージ】
・製品/商品情報の構造化

◆知識情報検索
検索キーワードの「意味」まで加味した文書検索
知識構造化データを使い、入力されたキーワードと意味の近い文書を検索。
イメージ 13

【特長】
・リアルタイム
・専門家の見方で情報検索
・様々な端末に対応

【活用イメージ】
・企業内文書検索
・特許検索

◆予測
さまざまなデータを学習して構築した予測モデルが未来を予測
予測したい情報と予測に影響を与える情報の過去データを学習させ、予測モデルを作成。作成した予測モデルを使って、将来の状態を予測。
イメージ 14

【特長】
・リアルタイム
・継続学習による予測精度向上
・学習用データ管理機能
・予測モデル作成機能
・予測機能
・様々な端末に対応

【活用イメージ】
・需要予測


出典
FUJITSU Human Centric AI Zinrai(ジンライ)-富士通のAI(人工知能)
http://www.fujitsu.com/jp/solutions/business-technology/ai/ai-zinrai/index.html

この記事に

開くトラックバック(0)

全5ページ

[1] [2] [3] [4] [5]

[ 次のページ ]

本文はここまでですこのページの先頭へ
みんなの更新記事