人気AIプログラミング 入門記事ランキング TOP20

アクセスランキング(過去30日間)

  1. 少ない画像から画像分類を学習させる方法(kerasで転移学習:fine tuning)

    カテゴリー:未経験からの画像分類 実践入門

    「フルーツの画像を判別するモデルをを作ってくれませんか?」 と言われた時に、どのようにモデルを作りますか? ディープラーニングで画像分類を行う場合、通常畳み込みニューラルネットワークという学習手法を使いますが、画像の枚数によっては数週間程度がかかってしまいます。 また、学習に使用する画像の枚数も大量に用意しないといけません。 では、短時間・少ない画像から画像を分類するモデルを作るにはどうすればよいでしょうか。 その解決策として、画像分類でよく使われているfine tuningという手法をご紹介します。 今回はkeras2.0を使ってサンプルコードを書いて行きます。 *keras = Pythonで書かれたニューラルネットワークライブラリ。裏側でtheanoやtensorflowが使用可能。 fine tuning(転移学習)とは? 既に学習済みのモデルを転用して、新たなモデルを生成する方法です。 つまり、他の画像データを使って学習されたモデルを使うことによって、新たに作るモデルは少ないデータ・学習量でモデルを生成することが可能となりま...

  2. Javaで簡単に感情分析する方法

    カテゴリー:未経験からの自然言語処理 実践入門

    近年、AIの技術の活用分野は多岐に渡り、その中でも特に、人間の言葉を解釈する技術であるNLP(自然言語処理)が進歩してきています。 テキストマイニングや、対話システム等多岐に渡って使用され、人間のコミュニケーションを一部、チャットボットが代行するという所まで来ています。 今回は、そのNLPの一分野の感情分析と言われる分野で、テキストから人間の感情を読み取る技術について紹介をします。 この技術は、例えば、テキストに未成年に不適切な内容がある場合に、それをブロックするポルノフィルターや、暴力やヘイトスピーチを含んだ内容を検知する、オフェンシブフィルター等、実用的な活用が進んでいる分野です。 使用した環境 Windows or Macを仮定 Eclipse(Neon3)を使用 Java8.X(最新バージョン)を使用 1.形態素解析機器(Kuromoji)の準備 以下参照 Kuromoji(形態素解析)を2分で使えるようにする方法(Java) 2.評価極性辞書の使用 各単語を p = positive、e = neutral、n = ne...

  3. 文章生成AI(LSTM)に架空の歴史を書かせた方法とその結果

    カテゴリー:未経験からの文章生成 実践入門

    AIに文章を作らせる方法概要 架空の名前から架空の人物の歴史概要を作成させてみました。 やり方としては、wikipediaの人物の概要の部分を抜き出してRNNにトレーニングさせます。 そのトレーニングさせたモデルに対して名前を入力すると、その人物の概要を出力してくれるようにします。 RNNとは、Recurrent Neural Networksの略で、時系列の情報を学習させるためのニューラルネットワークのモデルのことです。   文章を生成させるようなモデルの場合、多層パーセプトロンのようなモデルだと出力の長さが一定になってしまい、うまく作ることができません。 そこでRNNを使い、入力が単語(文字)、出力が次の単語(文字)として学習させると、そのモデルに次々と出力された単語を入力させることによって文章が生成出来るようになります。 そして、RNNは内部の重みを入力によって更新し、次の入力に備えます。 それによって、前の入力が例えば「僕/の/名前/は」と来たら、次に来るのは男性の名前であり、「私/の/名前/は」ときたら、女性の名前を...

  4. MeCab(形態素解析)をPythonから2分で使えるようにする方法

    カテゴリー:未経験からの自然言語処理 実践入門

    Javaだと、Kuromojiを使用するまでに必要な手続きは、基本的にjarファイルを追加するだけで完了しますので、形態素解析を使うまでの敷居は高くありません。 しかし、PythonでMeCabを使おうとすると、セットアップに時間を取られてしまうことがあります。 ですので、今回は最小限の労力で、PythonからMeCabを使う方法を紹介致します。 使用した環境 Ubuntu 16.04 python3、pipはインストールされていると仮定 *インスタンスを用意した直後の、何も手を加えていないインタクトなマシンの状態のままです。 1.MeCabのインストール(1分以内) コマンドを打ち間違えなければ、完了まで1分かかららず、ご活用いただけるはずです。 MeCabを使えるようにするという事だけを優先するので、MeCabの詳細等は、別途御確認頂ければと存じます。 1-1.MeCab本体のインストール git clone https://github.com/taku910/mecab.git cd mecab/mecab ./config...

  5. scikit-learn(機械学習)の推定器:Estimatorの選び方

    カテゴリー:未経験からの機械学習 実践入門

    scikit-learnはpythonで使用できる機械学習ライブラリですが、元々とても多くの推定器(Estimator)が実装されています。 ただ、どのEstimatorを使えばよいのか最初から決めるのは経験則や広範囲な知識が必要なのでなかなか難しいです。 そのため、一括で全部試してしまってその結果から良さそうなモデルを選定していくという方法を取ると効率がよいため、その方法をご紹介します。 1.環境構築 環境はpython3を使用します。 必要なライブラリをインストールします。 また、日本語の処理にmecabが必要なので、それもインストールします。 #数値計算・機械学習系 sudo pip install pandas sudo pip install scikit-learn sudo pip install scipy #mecab sudo apt-get install mecab libmecab-dev mecab-ipadic mecab-ipadic-utf8 sudo pip install mecab-python3 sudo...

  6. pix2pixで輪郭の線画から、絵画を画像生成する方法

    カテゴリー:未経験からの画像生成 実践入門

    1.pix2pixとは? 昨年、pix2pixという技術が発表されました。 概要としては、それまでの画像生成のようにパラメータからいきなり画像を生成するのではなく、画像から画像を生成するモデルを構築します。 DCGANと呼ばれる画像生成の技術を使用しており、使い方としては、白黒写真からカラー写真を生成したり、線画から写真を生成したりといったことが可能です。 2.DCGANとは? DCGANとは、画像生成器と画像判別器があり、画像生成器は訓練データに出てくるような画像を生成します。 画像判別機は、訓練データの画像なのか、画像生成器から作られたデータなのかを判別するものです。 そして、画像生成器は、自身が生成した画像だと見破られないように自身の重みを更新していきます。 また、画像判別機は画像生成器が生成した画像なのか、そうでないのかを学習して自身の重みを更新します。 これを繰り返し交互に行うことによって、画像生成器は最終的に訓練データと同じような画像を生成するモデルになります。 つまり、GANを使うと訓練データと似たデータを生成することが出来...

  7. Bag of wordsでのテキストマイニング最速精度向上方法

    カテゴリー:未経験からの自然言語処理 実践入門

    空前のAI(人工知能)ブームで、NLP(自然言語処理)に興味を持ち、MeCabやKuromoji等の形態素解析器を試した方は多いと思います。 ただし、いまいち形態素解析器が何に活かせるのか把握していない人は多く、その出力をどう料理すればいいのかわからない人が多いのも事実です。 そこで、本記事は形態素解析のアウトプットを利用し、最速でBag of wordsベースのテキストマイニングをする方法を解説します。 使用した環境 Windows or Mac Java1.8x(最新のバージョン) EclipseをIDEとして使用し、Mavenプロジェクトを作成 ライブラリ等の依存関係はMavenのpom.xmlファイルによって解決 1.Kuromojiのセットアップ 以下参照 Kuromoji(形態素解析)を2分で使えるようにする方法(Java) 2.シンプルなBag of wordsの実装例 以下、非常にシンプルにBag of words分析をJavaで実装する例を示します。形態素解析器はKuromojiを使用します。 なお、解析対...

  8. Kuromoji(形態素解析)を2分で使えるようにする方法(Java)

    カテゴリー:未経験からの自然言語処理 実践入門

    自然言語処理関連の仕事をする中、絶対に切り離せないのが形態素解析です。 特に、Java、Pythonで使用する事が多いので、ここに記しておきます。 JavaでMeCabをセットアップすると大変ですが、Kuromojiだと使うまでに3分もかからないはずです。 使用した環境 Windows or Macを仮定 Eclipse(Neon3)を使用 Java8.X を使用 1.Kuromojiを使用するための設定(1分以内) *EclipseでのMavenプロジェクトの作成方法等は、本記事の範囲外として割愛させて頂きます。 pom.xmlファイルへの依存関係の追加 1-1.Kuromojiのリポジトリの追加 <repositories> <repository> <id>Atilika Open Source repository</id> <url>http://www.atilika.org/nexus/content/repositories/atilika<...

  9. Jupyter Notebookで最速でディープラーニング環境を構築する方法

    カテゴリー:未経験からのディープラーニング:DNN 実践入門

    とりあえず、話題の機械学習とやらに触れてみたい! ディープラーニングを最速で試してみたいが、プログラミング経験が無いので、とりあえず簡単にスグに動かせる環境が欲しい! そんな方へ向けて、Jupyter Notebookを使用し、最速でディープラーニングをブラウザ上で実行出来る環境を構築する方法を解説していきます。 そして、実際に簡単な機械学習の処理をしてみるところまでお伝えいたします。 作業環境 Windows10 Jupyter Notebookとは? Jupyter Notebookとは、ブラウザ上で実行される、プログラムの対話実行環境となります。 対応している主要な言語(Julia + Python + R)からJupyterと名付けられました。 現在は上記のようなデータ分析系に主に用いられる言語だけでなく、他にも様々な言語をサポートします。 基本的な対象言語はPythonで、Jupyter Notebookを実行するには、Pythonのインストールが必須となります。 Jupyter Notebookのインストール方法 Python...

  10. 検索エンジンの仕組みと、アルゴリズムを公開します

    カテゴリー:未経験からの自然言語処理 実践入門

    あらすじ Googleや、Yahoo検索等は、日常のネットライフには切り離せない存在になり、検索エンジンの存在しないネットサーフィン等、殆ど有り得ないかと思います。 そのくらい、今やすっかり日常に馴染んだ検索エンジンですが、最近では、AI技術と組み合わせる事でより高度になってきています。 ユーザの質問の意図を解釈する、意図解釈型の検索エンジンもメジャーになってきており、対話アシスタントや、対話システム等でも使用され、これからのAI市場を切り開く技術としても、大きな注目を集めています。 今回は、情報検索の仕組みを解説する事により、検索エンジンの仕組みを、わかりやすくお伝えする事を目的とします。 検索エンジンの種類 検索エンジンといってもその種類は様々であり、目的によって、それぞれの検索エンジンを適切に使用する事が重要になります。以下に代表的な検索エンジンの例を示します。 ロボット型検索エンジン 与えられた条件式によって、Webページ等を検索する検索サーバの事を指します。 基本的に「キーワード検索」により、検索を行い、単一のキーワードに対する検索だけでなく...

  11. ディープラーニングで文章のカテゴリー分類を自動化する方法

    カテゴリー:未経験からの自然言語処理 実践入門

    1.あらすじ 人工知能という言葉が、昨今、ますます身近になってきており、Siriなどの対話システムも日々発達してきています。 また、人間の言語を人工知能に解釈させる対話システムの需要が増えると共に、NLP(自然言語処理)のニーズも日に日に高くなって来ています。 NLP分野では、画像処理系や、音声処理系と比較すると、まだ技術的なブレークスルーが起こっているという状況では無く、他の分野に比べて人工知能関連の技術適用は、限定的と言えるかもしれません。 しかしながら、NLPの分野でも、当然、機械学習は使用されますし、ディープラーニングをNLP分野に使おうとする動きも多く見られています。 今回は、その中で対話システムの制御等に使われる、入力文章の意図、主に対話カテゴリーの分類を、NLP、及び、機械学習を用いて、なるべくシンプルな手法で実装してみます。 文章のカテゴリー分類とは、例えばブログを書いた時のカテゴリ、メール内容のトピック、チャット内容の感情の分類などに使えます。 これだけでも結構汎用的に様々な場面で使える気がしてきますね。 開発環境: W...

  12. ディープラーニングとは?

    カテゴリー:未経験からのディープラーニング:DNN 実践入門

    今色々な場所で盛り上がっているディープラーニング。 言葉は聞いたことあるけど実際なんなの?って人も多いかと思います。 そんな方のために、なるべく簡単にディープラーニングとは何かという事を解説していこうと思います。 まずwikipediaでディープラーニングのページを見ると、 「ディープラーニング、深層学習とは、多層構造のニューラルネットワークを用いた機械学習である。」 とこのように記載してあります。 このままだと専門用語ばかりで意味がわかりませんね。定義に現れるそれぞれの単語の意味を解説していこうとおもいます。 深層学習というのは、ディープラーニングと同じ意味です。日本語にしただけですね。 ニューラルネットワークというのは、いうなれば人間の脳を数学的なモデルで表したものになります。 ニューラルネットワークの詳細はこちらの記事に書いてありますので、興味がある方は参照してみて下さい。 人間の脳というのは、神経細胞(ニューロン)が多数集まった構造になっています。このニューロンを層状にして複数の層を重ねた状態を多層構造という表現で表しています...

  13. AI(人工知能)と臨床試験の未来

    カテゴリー:海外最新 AIニュース

    あなたは、薬が開発されてから販売されるまでの経緯をご存知ですか? 実は、薬が世の中に出るまでには、長い長い時間と費用がかかります。 その中でも1番顕著なものが、「臨床試験」です。そこで、現在臨床試験においてAI技術の導入が進められています。 本記事ではAIを用いた臨床試験の未来を見ていきます。 臨床試験の現状と打開策 今日、新しい医薬品は、ヒトの臨床試験を経て承認されています。この臨床試験は、数十億ドルの費用がかかり、長年を要しています。 それに加えて、試験に参加した患者には副作用がおきる可能性があります。その全てが動物試験によって予測されるわけではないため、不確実な危険性が伴います。 しかし、安全で、速く、コストのかからない別のルートがあればどうでしょうか? ヒトの臨床試験の前に何年にもわたって動物実験をする代わりに、数十億の仮想患者で何千もの新しい分子をほんの数分で試験することができたらどうしますか? そのようなものを実現させるためには何が必要でしょうか? 仮説を現実にするために 少なくとも、仮想患者は、標的患者の生理的状況を再現し...

  14. シンギュラリティ(=技術的特異点)とは?

    カテゴリー:未経験からの人工知能 概要

    シンギュラリティ(=技術的特異点)とは、人工知能が暴走的に成長し始めるタイミングの事を指します。 このタイミングが訪れると、その人工知能は自分自身をアップデート(暴走反応)して更に賢くなるということが繰り返され、人間を遥かに圧倒する知性を手にします。 フューチャリストのレイ・カーツワイルは、シンギュラリティは2045年前後に起こると予想しています。 遠いようで近い未来ですね。   - 我々の生活はどうなる? シンギュラリティで消える仕事等の特集もちらほら見かけます。 例として、 ・レジ打ち ・コールセンターのオペレーター ・銀行の融資担当者 等が挙げられている事が多いですが、これらはシンギュラリティが起こらなくても消える可能性は大いにあると思います。 むしろシンギュラリティが起こった後は仕事のあり方も変わってきて、人間は自分がやりたくないような仕事をやらなくてもいい世界になる可能性が大きいと思います。   - 実際何が起こるのか では圧倒的な知性を手に入れた人工知能は何を人類に...

  15. ニューラルネットワークとは?

    カテゴリー:未経験からの機械学習 実践入門

    今人工知能というワードがホットですが、人工知能の技術と切っても切り離せないニューラルネットワークというモデルについて解説したいと思います。 ニューラルネットワークというのは、簡単に言うと脳を模した数学的なモデルです。脳は一つ一つのニューロンと呼ばれる神経細胞が1000億個以上も集まってできています。 wikipediaより引用 ニューロンは入力信号が一定値を超えると発火(出力)するという性質があります。視覚・聴覚等の五感からの入力信号がニューロンから他のニューロンに伝達されていき、出力(思考・行動・記憶)がなされます。 これを数学的に表した物がニューラルネットワークです。 ここでは細かい数式等の紹介はしませんが、入力が来ると、出力を行うという点では全く同じです。 また、ニューラルネットワークには層という概念があり、1つの層の中に複数のニューロンが並んでいるイメージです。 1層目で入力を受け取り、1層目の出力を2層目、2層目の出力を3層目に渡すような構造になっています。 (画像参照)この層の数や、各層でのニューロンの数はモデルによって異...

  16. 機械学習とは?

    カテゴリー:未経験からの機械学習 実践入門

    ディープラーニング、ニューラルネットワークについて解説してきましたが、では、ニューラルネットワークはどのようにつくるのでしょうか? その質問に答えるため、「機械学習」とは何か、ということを解説していきましょう。 機械学習にも種類が色々あるのですが、今回はその中でも「教師あり学習」というものについて解説します。 人の顔から感情を推定するというモデルを例に取ります。 この場合、一昔前であれば細かいルールベースのプログラミングが必要でした。 顔の画像から、口や目の特徴点を取り、その特徴点の配置等から感情を確定させます。 ただ、人の顔は解像度や年齢、性別、国、写真の角度によっても様々変わりますから、そのプログラミングは一筋縄では行きません。 そこで機械学習の出番です。 ニューラルネットワークで機械学習を行うと、上記のようなプログラミングは不要です。 ニューラルネットワークを定義して、そのニューラルネットワークに対して、 この顔は怒っている顔。 この顔は喜んでる顔。 この顔は悲しい顔。 のように大量の顔と、その顔がどんな感情を表し...

  17. 対話システムを構成する2つの仕組みと、フレームワークとは?

    カテゴリー:未経験からの自然言語処理 実践入門

    1.あらすじ 昨今の人工知能ブームで、Siriに話しかけている人や、店頭にいるpepper等のロボットに話しかけている人、また、Line上でりんなに話しかけて対話を楽しんでいる人等が増えてきていると思います。 また、商業的な観点からは、コンタクトセンタ等の問い合わせ対応の手間を軽減させるために、チャットボットを導入して、今までは人間のオペレータが問い合わせ対応をしていた部分を(一部でも)代行させるという流れがだんだんと主流になってきています。 とにかく、世間では、人工知能と対話をしたい、という要望が強くなってきており、いつか人間と同等に人工知能と対話ができるように、様々な分野で対話システムに関する研究が行われてきています。 読者の方も、何らかの形で、人工知能と対話をした事がある方、siri等の対話アシスタント等を日常で使用している方等、いらっしゃるかと思いますが、正直、対話がスムーズに行えるかというと、まだ理想には遠い状態かと思います。 しかしながら、用途を絞り込む事で、十分に実用的に活用する事は出来ます。 また、人工知能の花形分野である、NLP(自然言...

  18. AIに職業を奪われないための最大の武器とは?

    カテゴリー:海外最新 AIニュース

    近年、ディープラーニングの登場により爆発的なAIブームとなり、10年後は大抵の人間の仕事はAIに奪われてしまうとまで言われていて、多くの人が自分の職はAIに奪われてしまわないか、不安な気持ちになっているかと思います。 AIに職を奪われないようにするためには、どんな事に気を付けるべきなのでしょうか?   詳細 「人間としての自我の確立こそが、AI社会で職を守るための最大の防御策になる」と、米ヒューストン大学のRodica Damian氏は語る。 同氏の研究室では、34万人以上の被験者のデータを用いて、それらの被験者が将来AIに奪われる可能性がありそうな仕事(例 オペレータ業務、単純な接客業務 等)に就いているか、もしくはそういった職を将来希望しているか、についての傾向分析の研究を行いました。   その研究によって明らかになった事は、高校時代までに、科学や、芸術等の分野に対して強い興味・関心を示した学生ほど、将来AIに奪われる可能性が少ない可能性に就いているという傾向がある事が明らかになりました。   Ro...

  19. AIを活用した理系女子育成方法!?

    カテゴリー:海外最新 AIニュース

    「りけじょ」という言葉がメジャーになる位、だんだん理系女子の人口も増加している日本ですが、まだまだ理系男子に比べて、理系女子が少ない現状があります。 理系女子の数が日本よりも遥かに多い北米では、AIを活用した、理系女子の育成教育が盛んに行われています!   理系女子に育成するためのSTEM教育とは? 「女子は一般的に、小さい頃に数学等の理系科目に対して拒否反応を示す傾向が強い、但し、STEM教育(ステムきょういく)"Science, Technology, Engineering and Mathematics" すなわち科学・技術・工学・数学の教育の面白さを理解させられれば、かなりの確率で理系女子に育成する事ができる。」 米ワシントン大のLearning & Brain Sciences (I-LABS)はそう強く主張します。 同研究機関の研究報告では、6歳の女の子が、プログラミング体験等の機会が与えられた場合に、そういった機会が無かった女の子達と比較をすると、明らかに理系分野に強い興味・関心を示すようになり、それが今後の人格形成に大きな...

  20. ボットが人間のコミュニケーションを活性化する!?

    カテゴリー:海外最新 AIニュース

    「ボットは人間ほど賢く無くとも、人間のグループに役に立つ振る舞いができる。」という発表がアメリカのYale大学でありました。 職場などのチームの中にチャットボットが混ざると、そのグループのパフォーマンスが向上するという画期的な研究発表です。   「現在の世間のAIに対する関心は、AIは人間の代わりになれるかという事に向いてるが、我々は、AIは人間の生活を補い、協調していくものであると考えている。」 と、米Yale大学のNicholas Christakis氏は熱く語ります。 同大学では、複雑な人間関係がどのように、その国のエコノミーや、犯罪率に影響を与えるかについての研究を行っており、今回、複数の人が協力して共通の課題を解決する必要があるオンラインゲームに、メンバーとしてボットを参加させる実験を行いました。   そのゲームには4,000人を超える参加者が参加をし、その中で幾つかのグループが結成され、どのグループにも必ずボットが参加していました。 ゲームに参加した被験者の全員が、「ボットがゲームに有用だったか?」という質...


世界最高レベルの精度のAIチャットボットを作成/導入する方法

人工知能イメージ

最新の人工知能アルゴリズムをSNSでお届けします