人間は、人間を区分けすることが好きだ。
女王と奴隷、貴族と平民、武士と農民、資本家と労働者、正社員と非正規社員など、各人の生まれや能力によって、人を区別する枠組みを設けられてきた。組織運営の理由もあると思うが、人間は遺伝子レベルで人よりも上回りたいと願う生き物だということだろう。
そして2020年、人類は人工知能を管理する側と、人工知能に使われる側で区別されるかもしれない。
今企業で起こっていること
デパートの窓口業務のキャサリンは、来店した顧客に話を聞いて、目的の場所に案内したり、顧客の疑問点に回答することが主な仕事だ。その中で、顧客の質問にはいくつかのパターンがあることに気づいた。
まずキャサリンは、自分と会話の音声データを蓄積を始めた。次に、最近話題のワトソンのAPIに、音声データをテキストしたものをぶちこんだ。その後、会社に具申し、Pepperを買ってもらった。あとはPepperとワトソンを連携すれば、窓口案内ロボットの出来上がりである。キャサリンの仕事ぶりが認められ、すべてのデパートの窓口に導入が決定した。いや窓口だけではなく、コールセンターでも導入できることに気づき、そこでも導入した。
数年後、デパートは大規模なリストラを発表した。窓口は無人でも運営できると経営陣が判断したためだ。多くの同僚がリストラに合う一方、キャサリンは人工知能を教育する責任者に抜擢された。
こんなことが今企業で起こっている。人工知能を作り、教育できる人は評価される。一方、多くの人達は仕事を失うか、人工知能の指示の下で働くことになる。
逆に言うと、人工知能を作り手側に回ることで、大きなチャンスを得る可能性がある。
急ピッチで人工知能を作り続ける企業
Google、Amazon、IBM、Facebook、GEの海外大手企業は人工知能を作っている。また、国内大手企業でも、ソフトバンク、トヨタ、ホンダ、NTT、リクルート、ソニー、ファナック、日立、NEC、富士通、楽天、JR東日本、三菱東京UFJ銀行などが自社で人工知能を作っている。
さらに、PFNに代表されるAI系のベンチャー企業は、ディープラーニングを軸に、新アルゴリズムや新規サービスを開発している。
次のステップは、人工知能を作っていない企業が、自社のデータをAIの作り手に提供し、業務を自動化を進める流れになる。AIは専門家レベルの人件費を徹底的に削減できるので、AIを利用する企業の競争力は強化され、AIを使わない企業は淘汰される。
労働市場でも同じことが起こるのではないか。AIを作れる人材は大金を受け取り、作れない人間はAIに代替される。せめてAIを使いこなすことが出来れば、生き残ることはできるかもしれない。ただチャンスをつかむためには、AIを作るスキルが絶対的に必要だ。
人工知能がPythonで作られている理由
人工知能の作り方は2つある。IBMやAmazonなどが有料で提供しているクラウドサービスと、Pythonのライブラリとして無償で提供されているものだ。クラウドサービスを利用すれば比較的簡単にAIを作ることが出来る。しかし開発の柔軟性やコストを考えると、Pythonで作った方がメリットが大きい。そもそもPepperなどのAIロボットは、Pythonで実装されている。
Rも有名だが、Rはあくまで人がデータを分析するための言語であり、業務システムとして実装するには不適切だ。人工知能として完成されたプログラムを作るには、Pythonが最も効率的かつ効果的な選択になる。なぜなら、言語が簡単で、かつ外部ライブラリが非常に豊富だからだ。
Pythonはシンプルなスクリプト言語だ。私は過去にJavaエンジニアを志したことがあったが、すぐに挫折した。原因は多重継承とオブジェクト志向のせいだ。僕の主業務は企画だ。企画は控えめに言ってとても頭を使う。加えてオブジェクト指向などという意味不明な思考パターンを、新しく頭に定着することには耐えられなかった。そのため、僕はJavaを使える人にいまだに劣等感を持っている。
(Pythonのオブジェクト指向はたまにしか出てこないのでなんとか理解できた)
(Pythonのオブジェクト指向はたまにしか出てこないのでなんとか理解できた)
一方、Pythonのようなスクリプト言語は、上から順番に処理を行うため、人間の論理的思考に極めて近い。しかも、構造がシンプルで、複雑な計算はライブラリがやってくれる。その結果、プログラミングスキルが低くとも、驚くべき生産性が生まれる。この事実はもっと強調されていいと思う。文系のマーケターが片手間で扱える言語なのだ。
おそらく、Java言語を開発した人もPython言語を開発した人も、共に合理的で頭が良かったと思うが、Pythonを開発した人は、よりシンプルな思考を持ち、かつ人当たりの良い人だったと思われる。
Python機械学習プログラミング
人工知能の作るために必要なスキルは2つ。Pythonの実装力と機械学習アルゴリズムの理解だ。この2つを1冊で学べる本がある。「Python機械学習プログラミング」だ。先日この本を本屋で見つけて衝撃を受けた。
過去の機械学習の本は、大学の先生やコンサルタントが執筆しているものが大半だ。しかし、大学の先生が書かれた本は、厳密性を大事にするため、内容が難しく、読んでいてつまらない。一方コンサルタントが書いた本は、内容は面白いものの概念的過ぎて、なんとなく人工知能について分かった気になる程度の効果しかない。コンサルタントは、AIを本質的に理解していないため、表面的な知識を体系的にまとめただけの本が多い。おそらく彼らの大半は、Wekaすらまともに使えない。よってそのような本を読んでも、実務では全く使えない。
一方この本は、データサイエンスの実務家が執筆しているため、内容がとても分かりやすい。機械学習のアルゴリズムを、Pythonのコードと一緒に解説してくれている。理論と実践を同時に学べるので理解が進み、読んでいてテンションが上がってくる。僕はこの本を5ページ立ち読みして、欠損値の対処やパイパーパラメータの設定など、3つの気づきを得られた。当然購入を決めた。
(構成としては、「フリーソフトで始める機械学習入門」もこれに近い。機械学習の分析ツールを使えるようになりたい人はこちらもおすすめだ。)
(構成としては、「フリーソフトで始める機械学習入門」もこれに近い。機械学習の分析ツールを使えるようになりたい人はこちらもおすすめだ。)
また、つまづきやすいところには注釈があるのも嬉しい。あと本の紙質が良く、400ページ以上あるのに軽いのだ。読むべき本に出会ったと思った。どうやらAmazonの売上では人工知能分野でトップで、全体でも100位台の売れ行きとのこと。
想定読者ターゲット
・人工知能を作れるようになりたい人
・人工知能を作って金儲けを企む人
・人工知能を作って金儲けを企む人
読者に求められるスキル
・過去に何かプログラムを触ったことがある人
・高校レベルの数式を見て、多少は我慢できる人
もしあなたが人工知能の概要やビジネス戦略を学びたければ、こちらの書籍から学んでほしい。しかしAIを開発したい人は、本書「Python機械学習プログラミング」がベストな選択肢と言えるだろう。
「AIを組み込んだWebサービスを作りたい!」という意識の高い方へ本なんて読みなくない、手っ取り早くAIを作りたい方
せめてこちらの実装だけでも理解してほしい。実務で利用頻度が極めて高い関数だけをまとめている。後は国のオープンデータカタログセットや、UCIからデータセットを拾ってくればAIを実装できるはずだ。実装方法とプログラムをこちらに置いているので参考にしてほしい。FlaskというWebアプリケーションフレームワークを使えば驚くほど容易に開発できる。
コンピューターに人間が使われるなんて、いささかばかげている。しかしコンピュータが、利便性・効率化の名のもとに人々の雇用を奪ってきたことは歴史的事実だ。ならばコンピュータを学ぼうではないか。それがコンピュータに打ち勝つ王道だと思うのだ。
合わせて読みたい人工知能の基礎知識を身につけたい方ー>AIエンジニアが教えるゼロから機械学習の勉強法
未経験からAIエンジニアになりたい方ー>未経験からAIエンジニアになる方法