機械学習を始めるにはフレームワークTensorflowを学ぼう!【入門編】2019.09.19最近のトピックでは、AI(人工知能)に関するニュースをよくみますよね。ここまでAI(人工知能)の開発やビジネス利用が熱くなっているのかというと、一つの要因としてAI(人工知能)の中の一つの技術である機械学習のフレームワークがここ最近で増えていることが挙げられます。フレームワークとは、頭のいい人が作ったプログラムを一つにまとめて他の開発者が容易に開発できるようにしたもので、その中でも機械学習関連の有名なフレームワークとしてTensorflowというものがあります。そこで、この記事では入門として、まずTensorflowというものがいったいどんなものなのかを解説し、そしてTensorflowに何ができて実際どんなシステムやアプリに使われているのかも入門者向けに解説しましょう。目次オープンソースとはTensorflowとは何かTensorflowを使ってできることTensorflowの活用例オープンソースとはTensorflowとは、2015年にGoogleが開発しオープンソースで公開している、機械学習に用いるためのソフトウェアライブラリです。機械学習の入門者から上級者まで幅広く使うことができます。言葉通りのソースコードへのアクセスが開かれている(ソースコードが公開されている)ことを意味するのではなく、ソースコードを商用、非商用の目的を問わず利用、修正、頒布することを許し、それを利用する個人や団体の努力や利益を遮ることがないソフトウェア開発の手法。逆にオープンソースでないものは、商用利用したり、修正配布したりするにはライセンスの取得が必要なものもあります。オープンソースのメリットとはなんでしょう。このオープンソースのメリットは、開発者が自由に当該フレームワークを使用することができるので、開発が進みやすく技術の発展に寄与すること。開発者が何かしらの新たなシステムやアプリを開発しようとするときに、完全にオリジナルというものは少なく、他から拾ってきた情報を活用することが多いからです。この手法は日進月歩のIT業界では重要視されていて、よくIT業界でよく言われているフレーズとして、「車輪の再発明はするな」というものがあります。この言葉の意味は「すでに誰かが発明したものを自ら苦労して生み出すな」ということで、入門者によくありがちなのが、すでに存在していて、調べたり、他人に聞いたりすれば容易にわかる知識を、時間をかけて自分で生み出したと思い込み、結局蓋を開けてみればただの時間の無駄だったということがあります。いうことで、ここまでで閉鎖的なプログラムでなくフリーで皆に開かれているプログラムのメリットがお分かりいただけたでしょう。Tensorflowとは何かさて、オープンソースの重要性が分かったところで、Tensorflowの入門者向けの説明に戻ります。BrAIn(英語版)チームによって開発されました。開発された目的は、人間が用いる学習や論理的思考と似たように、パターンや相関を検出し解釈するニューラルネットワークを構築、訓練することができるシステムの要求を満たすため。利用は簡単で、公式サイトにもサンプルプログラムが載っていますから、機械学習始めたての入門者でも簡単な機械学習ならすぐに行うことができます。実は機械学習の基本的な仕組み自体は、AI(人工知能)が空想物語ではなく実際に使われ始めた20世紀中旬には成立していましたが、ただ、技術上の制約で実務の使用に耐えうる状態ではありませんでした。2010年代に登場したディープラーニングが機械学習を実務に耐えうるものにした要因の一つになったのです。アウトプットに分かれていますが、Tensorflowを使えばデータの収集だけすればあとの工程の基本的なコードを書くだけで機械学習を実行できます。Tensorflowが入門者にも優しいですよね。Tensorflowを使ってできることそれではTesorFlowを使ってできることをお話しましょう。TesorFlowを使ってできる有名なこととして、手書き文字認識が挙げられます。この手書き文字認識はサンプルのMNISTというデータセットも用意されているため、TesorFlowを使って入門者でも手間をかけずに機械学習をすることができるのです。用意されたデータセットを用意された手順通りでやるだけでは自分でやっている実感が持てませんよね。そこで、Windows標準のペイントという大抵のPCに最初から付随している絵が描けるアプリを使って手書き文字を描き、それをテストデータとしてモデルに入力して、手書き文字認識をさせてみましょう。Tensorflowの入門としては、ここまでできれば機械学習をした実感が持てるのではないでしょうか。あとはTensorflowの公式ホームページの入門者向けのドキュメントを確認していろいろ動作の確認をしてみるのも良いかもしれません。以上からTensorflowについて簡潔にまとめると、Tensorflowを使って入門者でもできることは主に画像認識です。Tensorflowの活用例Tensorflowは決して入門者のみを対象としたライブラリということではなく、入門者から上級者まで幅広く活用され、現にTensorflowを開発したGoogleでも、サービスの研究と生産に使用しています。キュウリの選別(選果)作業の自動化。これは、パンなど工場で画一的に作られた製品はパート労働者でも傷や不具合が比較的簡単に見分けられますが、きゅうりは自然に育った野菜のため、パート労働者にすぐ任せられるような仕事ではなく、会得するには数ヶ月かかると言われています。そこで、Tensorflowを使った画像識別をしてみました。学習用画像としてキュウリの画像7,000枚を使って過学習が発生し、新たなキュウリの画像では正解率が70%程度に落ちる事が課題とされています。量だけではなく、ある程度質も兼ね備えていなければ良い学習ができません。そのため現在の機械学習エンジニアのほとんどの作業が良質なデータ集めと言われています。キュウリの選別作業のように農家のおばちゃんの長年のノウハウでしかできなかったことが、自動化されその負担が軽減される方向に向かっていくのはとても良いことですよね。これから技術が進歩していけば、ますます利便性は高まっていくでしょう。ここまでtensorflowとは何かという入門編から、どういう用途で使われているかまで解説してきました。機械学習関連のライブラリにはtensorflow以外にも多くあり、実務上ではいくつものライブラリを組み合わせながら開発を進めることになります。開発を進めるうえで、プログラミング言語としてはPythonがオススメです。それはなぜかというと、Pythonはライブラリ活用を前提として作られた言語であり、機械学習関連のライブラリが豊富だから。Pythonの基礎をオンライン学習サイト等で学んだらさっそくググったり本を参照したりしながら実際に開発を進めていきます。入門者がプログラミングを上達させるためにはやはり実際にコードを書いてみることがベターだからです。この記事を読み終わったらさっそく本を片手にコードを書いて手を動かしてみましょう。===当サイト(AIZINE)を運営している大阪の人工知能の開発会社お多福ラボでは、AI(人工知能)の勉強会を開催していますので興味のある方はぜひお越しください。コピーコメントをどうぞコメントを書き込むコメントをキャンセルメールアドレスが公開されることはありません。・URLが入ったコメントは破棄されますコメント名前サイトそねあすAIZINE(エーアイジン)同じジャンルの記事ディープラーニングのフレームワーク「TensorFlow」を選ぶ理由とはスラスラ読める!AI初心者が押さえておきたい解説本ベスト7冊プログラミングを小学生が学ぶ内容とそのメリットとは難し過ぎるAI(人工知能)のアルゴリズムの種類を簡単解説!AIやプログラミングの勉強で挫折しそうな時に効くかもしれない◯◯とはプログラミングでできることって何!?あなたも知ってる具体例5つディープラーニングを学ぶ講座、後悔しない上手な選び方教えます!AI初心者は知っておくべき!tensorflowを入門用に利用したい3つの理由この記事を読んだ人におすすめコメントをどうぞコメントを書き込むコメントをキャンセルメールアドレスが公開されることはありません。あすAIZINE編集部のそねあすです。記事の編集を担当しています!もともとデザインやHTML、CSSと仲良くしていたつもりがあれよあれよと編集の世界に。AI(人工知能)は作れないけど興味深々なんでまずはSiriを使いこなしてみようと模索中です。Learning(機械学習)に必要なPCのスペックってどれくらい?2019.09.05ライフスタイル社会人に人気!Siriを使ったお手軽な英会話練習法2018.11.282019.01.23AI(人工知能)ニュース惚れてまうやろー!つい見とれてしまう美人受付ロボットベスト3!2019.07.07ライフスタイルSNS要注意。検索トップタイトルとURLをコピーしました。