派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

【イベントレポート】5年後に市場を席巻する近未来のコア・テクノロジーの進化と相互作用を理解し、未来の展望を予測する

株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するイベントを、定期的に開催しています。

2018年11月14日のイベントでは「5年後に市場を席巻する近未来のコア・テクノロジー 技術の進化と相互作用を理解し、未来の展望を予測する」と題して、書籍『近未来のコア・テクノロジー』の著者である三津村さんを講師にお迎えし、技術進歩の著しい昨今、エンジニアが押さえておくべき「コア・テクノロジー」について解説していただきました。

■今回のイベントのポイント

・進化の核となるテクノロジーを押さえるべき理由
・ブロックチェーン
・量子コンピュータ
・テクノロジーの相互作用と社会の変化

【講師プロフィール】
三津村 直貴さん
合同会社Noteip代表。フリーライター。米国の大学でコンピューターサイエンスを専攻し、卒業後は国内の一部上場企業でIT関連製品の企画・マーケティングなどに従事。退職後はライターとして書籍や記事の執筆、WEBコンテンツの制作に関わっている。人工知能の他に科学・IT・軍事・医療関連のトピックを扱っており、研究機関・大学における研究支援活動も行っている。
著書『近未来のコア・テクノロジー』(翔泳社)『図解これだけは知っておきたいAIビジネス入門』(成美堂)、執筆協力『マンガでわかる人工知能』(池田書店)など。

進化の核となるテクノロジーを押さえるべき理由

いまや、次なる新しい技術が登場するまでのスパンが短くなっていて、鍵となる技術を追いかけるのが難しくなっています。専門分野ではないから、自分に関わりがないからと、新しい技術が登場しても、詳しい内容を知ろうとしないことも多いはず。しかし、三津村さんは「重要な核となる技術については基本だけでも押さえておくことが大切だ」と訴えます。

f:id:itstaffing:20190109115457j:plain
▲核となる技術を押さえておけば、そこから派生する数々の技術が新たに登場した際も理解が早く、世の中のニーズをつかみやすい

エンジニアとしてのキャリアを考える際にも、これは大きく役立ちそうです。
三津村さんが解説してくださった「情報社会を変える5つのテクノロジー」は次のもの。

・ニューラルネットワーク
・データマイニング
・ブロックチェーン
・ロボティクス
・量子コンピュータ

それぞれ詳しく紹介してくださったのですが、このレポートでは、ブロックチェーン、量子コンピュータの内容をご紹介します。

ブロックチェーン

最近何かと話題に上る仮想通貨。その仮想通貨を実現するためのコア・テクノロジーとして知られているのがブロックチェーンです。

f:id:itstaffing:20190109115501j:plain
▲ブロックチェーンは、その名の通り、ブロック化されたデータが、チェーンでつながって、保存されるという仕組み。すべての記録が残るため、データの改ざんがすぐに分かってしまうので、データの信頼性が非常に高い

ブロックチェーンの考え方は、ソフトウェア開発のバージョン管理に利用されるGitなどにも通じているそうです。

私たちが普段使っているお札や硬貨などのリアル通貨は、国が信頼性を保証してくれます。一方で、仮想通貨は、ブロックチェーン技術が信頼性を保証してくれます。

f:id:itstaffing:20190109115504j:plain
▲仮想通貨の信頼性はブロックチェーン技術が担保している

ブロックチェーンの信頼性の根拠は、すべてのユーザーによる情報共有と多数決による信任投票により、信頼すべきデータにブロックを追加していくところにあります。

新しくデータを追加するときには“多数決による信任投票“を行います。これは、“クイズ“を計算によって解き(これをマイニングと呼びます)、解けた人がブロックを追加できるというルール。そうして一番長くなったブロックが信頼できるデータということになります。

f:id:itstaffing:20190109115507j:plain
▲投票する権利はマイニングした人のみ。誰でも最も長くブロックが付いているデータがどれかが分かるので信頼できる

また、すべての履歴を保存しているため、データが改ざんされた場合も、他のユーザーがそれを簡単に知ることができるというのが、信頼につながっています。

仮想通貨が興味深いのは、このブロックチェーンの特性により、信頼性を保つためのインセンティブ設計が施されているところ。つまり、データを改ざんすると、仮想通貨の価値が下がってしまうため、改ざんしてまで入手する意味が無くなってしまいます。それなら、マイニングをしていたほうが良いと考えるので、信頼性が保たれています。

ブロックチェーン技術の普及により、さまざまなことが予測されています。
たとえば、ブロックチェーン技術を使って帳簿を作ると、決算や会計処理などで、数字を勝手に書き換えるといった不正ができなくなるそうです。

f:id:itstaffing:20190109115510j:plain
▲データセンターが減るという予測は気になりますね

量子コンピュータ

量子コンピュータといっても、実は決まった定義があるわけではなく、量子特有の現象を演算に応用したものを一般にこう呼びますが、演算に利用可能な量子現象も一つではないそうです。

量子の状態は確定せず、常にゆらいでいます。粒子のようなふるまいと波のようなふるまいをするという性質を合わせ持っているのも、その一つです。重ね合わせの状態で表現された情報の最小単位を1量子ビットと呼びます。

ただし、1量子ビットあたりの情報量は、方式によって変わるため、処理できる量子ビットの数が、そのまま性能にはつながりません。

三津村さんによれば量子コンピュータは「まだ研究・開発途上にあり、特定分野で実用化されているものの、万能型の量子コンピュータは、まだ無い」とのことです。

f:id:itstaffing:20190109115515j:plain
▲現在、研究されているものとしてゲート方式とイジング方式という2つのタイプがある。それぞれ特定の分野には適しているが、汎用的ではない

量子ゲート方式は、私たちが使っているコンピュータと考え方は似ていて、量子版の論理ゲートを利用して重ね合わせの状態を、行列で計算するというものだそうです。

f:id:itstaffing:20190109115518j:plain
▲論理ゲートには量子用のアルゴリズムを使う必要があること、量子はコピーできないため、エラーチェックが難しいなどの課題もあるとのことです。

一方の量子イジング方式は、イジング模型と呼ばれるモデルを量子によって再現するもので、このモデルで表現可能な組み合わせ構造化問題を解決できるといいます。

ゲート方式はまだ実用化されておらず、普及しているのはイジング方式のほうだそうです。

f:id:itstaffing:20190109115521j:plain
▲組み合わせ爆発を最小化できることで、さまざまな問題解決に利用できるものと期待されている

イジング方式では、組み合わせ爆発を最小化することができるという特長があります。たとえばコンピュータのアルゴリズムでも目にする数学問題である「巡回セールスマン問題」は、巡回する場所を1つ増やすだけで巡回パターンが指数関数的に増えてしまいます。同種の問題は世の中にも数えきれないほどあるため、イジング方式の量子コンピュータには大きな期待がかかっています。

そのほかにも、量子コンピュータの実現により期待されている分野がいくつもあります。

たとえば、情報分野での強固な暗号化、物流分野の配送ルートの最適化、材料化学分野では組み合わせによる新素材の開発、薬品分野ではタンパク質の組み合わせによる新薬の創薬、クラウド量子コンピュータの登場など、いずれも私たちの暮らしの安心や便利につながるものとなるでしょう。

テクノロジーの相互作用と社会の変化

三津村さんによれば、今回紹介してくださった5つのテクノロジーは「それぞれが単体でビジネスに使われることは、まずない」とのこと。

たとえば、ニューラルネットワークの学習データはデータマイニングによって収集されます。そして、そのデータで学習を済ませたニューラルネットワークはデータマイニングの性能向上に役立てることが可能となります。
また、IoT機器はセキュリティが弱い面がありますが、ロボティクスとブロックチェーンを組み合わせ、IoT機器のデータをブロックチェーン化することでデータの改ざんを防ぐことができます。

このように、いくつかのコア・テクノロジーが組み合わさることで価値のある技術へと進化していきます。
今回のイベントでは、これまでに何度か目や耳にしたテクノロジーもあれば、今まで聞いたこともないテクノロジーもありました。特に、量子コンピュータというものが一部とはいえ、実現しているということに驚いた、という声が多かったです。これからの技術の発展に、注目です。

【イベントレポート】DockerとKubernetesでアプリケーション開発にコンテナをフル活用!

株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するイベントを、定期的に開催しています。

2018年11月7日のイベントでは「DockerとKubernetesでアプリケーション開発にコンテナをフル活用!」と題して、コンテナ型の仮想サーバーソフトウェアであるDockerにフォーカス。システム開発環境から本番環境の構築まで、幅広い用途に利用され、サーバエンジニアはもとより、ソフトウェア開発エンジニアからも注目されています。
書籍『Docker/Kubernetes実践コンテナ開発入門』の著者である山田明憲さんを講師にお迎えし、Dockerの基礎から活用までをレクチャーしていただきました。

■今回のイベントのポイント

・Dockerとは?コンテナとは?
・Dockerを体験する
・Dockerフレンドリなイメージをつくる
・コンテナオーケストレーションとは?
・Kubernetesでの実践的なアプリケーション開発
・パブリッククラウドでのコンテナ運用
・コンテナの運用を支えるツール

【講師プロフィール】
山田 明憲さん
2012年、株式会社サイバーエージェント入社。ライブ配信サービス「FRESH LIVE」のテックリードを務める。著書として「Docker/Kubernetes 実践コンテナ開発入門(技術評論社刊)」。バックエンド技術を中心に、SRE、DevOps等が守備範囲。

Dockerとは? コンテナとは?

最近よく耳にするDockerとはいったい何か?山田さんは、イチから説明してくれました。

サーバの仮想化技術は、ホストOS型とコンテナ型の2つに分けられます。

f:id:itstaffing:20181226145005j:plain
▲Dockerはコンテナ型の仮想化技術。ホストOS型とコンテナ型、それぞれに長短がある

Dockerは、アプリケーション、ライブラリ、設定もコンテナ内に含まれるため、優れたポータビリティをもたらしてくれ、インフラを気にせずアプリケーションをデプロイできるという点が開発者に支持されているそうです。

Dockerを体験する

さっそく、Dockerで環境を構築してみます。

ローカルPC上でDocker環境を構築するには、PC用のアプリケーションであるDocker Desktopを利用します。Docker Desktopをインストールし、仮想環境イメージであるDockerイメージを取得し、Dockerコンテナを実行するという手順になります。

f:id:itstaffing:20181226145009j:plain
▲Docker Desktopの画面

Dockerイメージとは、コンテナを構成するファイルシステムやアプリケーション、設定などをまとめたもので、コンテナとは、その内容を具現化したものです。

多数のイメージがアップロードされているサイトDocker Hubからイメージをダウンロードします。今回は、山田さんが執筆された書籍で使用しているサンプルをダウンロード。これはHTTPでGETリクエストを送信すると「Hello Docker!!」というメッセージを返すという、ごくシンプルなサーバが稼働するDockerイメージです。

f:id:itstaffing:20181226145012j:plain
▲docker image pullコマンドでダウンロードし、docker container runコマンドで実行。オプションでポート9000を、コンテナのポートの8080にフォワードしている。これによりポート9000にGETリクエストを送ると、仮想サーバ環境のポート8080にフォワードされる

結果は、見事にメッセージが表示されました。

次に、Dockerイメージをビルドする方法も紹介してくれました。まず、アプリケーションを用意し、配置します。

f:id:itstaffing:20181226145017j:plain
▲実行したいスクリプト(ここではhelloworld)とDockerFileを配置する

DockerイメージをビルドするにはDockerFileを用意します。

f:id:itstaffing:20181226145020j:plain
▲DockerFileの内容。FROMはベースイメージ、COPYは実行させたいアプリケーションへのパス、RUNでchmodにより実行権限を与え、CMDでコマンド名を指定する

用意できたら、イメージをビルドします。

f:id:itstaffing:20181226145023j:plain
▲docker image buildコマンドでイメージをビルド。docker image lsコマンドでイメージファイルが作成されたかどうかを確認

Dockerフレンドリなイメージをつくる

コンテナは複製しやすいのですが、デプロイする環境によって、たとえばデータベースの接続先や、アプリケーション参照するAPIのホストを変えるなど、デプロイする環境に応じて制御してあげる必要があります。

こうしたコンテナの挙動は、あらかじめ指定しておくことで制御できます。その方法として「実行時の引数で指定する」「アプリケーションの設定ファイルをデプロイ先ごとに変更する」「環境変数を使う」の3つがあります。

山田さんによれば「環境変数は、変数を1箇所だけ変えて試すなど、小回りが利くため、トライアンドエラーしやすいのでお勧めです」とのこと。具体的には、アプリケーションの設定ファイルの記述に環境変数を利用します。

f:id:itstaffing:20181226145026j:plain
▲Springフレームワークの設定ファイルpropertiesの例

そして「Docker上でアプリケーションを開発する場合は、動作を指定するのに、環境変数を参照できるように設計しておくことがポイント」だそうです。

コンテナオーケストレーションとは?

コンテナを使って本格的にアプリケーションをデプロイするようになると、デプロイするコンテナも増えていきますが、コンテナの配置が難しくなります。

「どのコンテナをどのように配置するか?」「ホストのマシンリソースを効率的に使う配置はどうなるか?」「コンテナへのアクセス経路をどう決めるか?」「スケールアウト/インをどのように行うか?」など、考えなければいけない要素が膨れ上がります。

f:id:itstaffing:20181226145030j:plain
▲コンテナ数が増えていくと、その配置はもはや人間が考えることではなくなる

これを解決するのが、複数のホストを跨ぎ、複数種のコンテナを矛盾のない形でサーバリソースを考慮しながら効率的に配置するのが「コンテナオーケストレーション技術」です。

代表的なコンテナオーケストレーション技術として、Docker Compose、Docker Swarm/Stack、Kubernetes、Apache Mesos、Amazon Elastic Container Service(ECS)などがありますが、デファクトスタンダードと呼べるのがKubernetesだそうです。

Kubernetesでの実践的なアプリケーション開発

Kubernetes(クバネティス、クーベルネィティス)は、Google社内のコンテナ基板から派生した技術で、現在はOSSとして公開されています。Docker DesktopにもKubernetes統合の機能が用意されています。

f:id:itstaffing:20181226145033j:plain
▲Docker DesktopのKubernetes統合をオンにすると、コマンドラインツールkubectlがインストールされ、Kubernetesクラスタのリソースを操作・閲覧ができるようになる

kubectlで操作するKubernetesのリソースとは「アプリをデプロイさせるために必要な部品のようなもの」と考えればよいそうです。

今回はKubernetesのリソースの中から、Pod、Deployment、service、ingressの4つについて解説されました。

Podはコンテナをグルーピングするためのもので、これによりPod単位で複数のコンテナをまとめてデプロイできます。

f:id:itstaffing:20181226145037j:plain
▲Nodeを跨ぐことはできないが、コンテナをまとめて扱える

Podは1つのマニュフェストファイルにつき1つしか作成できませんが、実運用では同じPodを大量に複製することで可用性を高めます。これを実現するのがDeploymentです。

f:id:itstaffing:20181226145039j:plain
▲ReplicaSetによりPodが複製され配置される。これをコントロールするリソースがDeployment

そして、Podの集合に対するルーティングやサービスディスカバリ機能を提供するリソースがServiceです。

f:id:itstaffing:20181226145043j:plain
▲Serviceはルーティングやディスカバリだけでなくロードバランシングの機能も提供する

Serviceは、クラスタ内部にしかサービスを提供できませんが、これをクラスタの外部に公開するためのリソースがIngressです。アプリケーションを外部に公開するにはIngressの設定が必要になるそうです。

パブリッククラウドでのコンテナ運用

Kubernetesをゼロから構築していくのは大変です。そこで利用したくなるのが「Kubernetesマネージドサービス」です。GKEならば、数分でKubernetesクラスを構築可能だそうです。サービスは、Google(GKE)やAmazon(EKS:東京リージョンでは未提供)、Microsoft(AKS)などが提供されていますが、山田さんによれば、KubernetesはGoogleのプロジェクトから生まれたこともあり、GKEのサービスが一番進んでおり、EKSやAKSが後を追っている状況だそうで、「現状ではGoogleのGKEが現実的な選択肢」とのことです。

コンテナの運用を支えるツール

コンテナが増えるとログを管理するのも大変です。最後に、実運用時に便利な、コンテナ運用を支えるツールをいくつか紹介されました。

f:id:itstaffing:20181226145046j:plain
▲「Elasticsearch+Kibana」は、全文検索でコンテナのログの保存と可視化を行うツールで、対象のコンテナがどこで動いているかを把握するのに便利とのこと

今回のイベントは、以前から興味のあったDockerでしたが、短い時間でコンテナの実行から、イメージの作成、デプロイまで、概念のみならず具体的な手順やノウハウまで学ぶことができました。PC上でも動かせるので、自分で試してみたくなった方も多いはずです。注目の技術なだけに、これを機に理解を深めましょう。

【イベントレポート】注目のテーマ、ディープラーニングを知識ゼロから学ぼう

株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するイベントを、定期的に開催しています。

2018年10月31日のイベントでは「知識0から始めるディープラーニング 本格的AI開発」を開催。書籍『はじめてのディープラーニング』の著者である我妻幸長さんが、ごくシンプルなディープラーニングモデルを使って、ディープラーニングの基礎からわかりやすく解説してくださいました。

■今回のイベントのポイント

・人工知能、ディープラーニングとは
・人工知能と数学
・ディープラーニングの実演
・Swiftによる深層強化学習

【講師プロフィール】
我妻 幸長さん
「ヒトとAIの共生」がミッションの会社、SAI-Lab株式会社の代表取締役。AI関連の教育と研究開発に従事。東北大学大学院理学研究科修了。理学博士(物理学)。著書に「はじめてのディープラーニング」(SBクリエイティブ)、「No.1スクール講師陣による 世界一受けたいiPhoneアプリ開発の授業」(技術評論社)。オンライン教育プラットフォームUdemyで、2万人以上を指導する人気講師。エンジニアとして、VR、ゲーム、SNSなどジャンルを問わず様々なアプリを開発し、数々の技術関連イベントに登壇。

人工知能、ディープラーニングとは

最初にディープラーニングについての紹介がありました。その中でも面白かったのが「AIには強いAIと弱いAIがある」というお話。強いAIは、生物の知能に迫るAIで、ドラえもんや鉄腕アトム、スターウォーズに登場するC3POのような汎用的なものですが、これはまだ実現していません。いっぽうの弱いAIとは、限定的な問題解決や推論に使われるもので、こちらは画像処理や機械制御、音声による会話、文章の認識や作成など、各分野での利用が始まっています。

AIのカテゴリの中には、機械学習のような脳の神経細胞を模倣するものだけでなく、神経細胞でなく遺伝子を模倣するものや、生物の群れを模倣するものなどもあるそうです。

今回は機械学習がテーマなので、まずは機械学習の基礎から説明してくださいました。

ニューラルネットワークは、脳の神経細胞(ニューロン)を模したモデルで、ニューロンが、層を形成していて、同一階層ではつながっていないが、前と後の層とはすべてつながっているという特徴があり、「多層」で構成されるニューラルネットワークで行う学習をディープラーニングと呼ぶそうです。

f:id:itstaffing:20181219133723j:plain
▲ヒトの脳には1000億の神経細胞と100兆個のシナプスがあるそう

そして、ニューラルネットワークでは、入力に対して重み付けやバイアスをかけ出力をしますが、その結果に対して、ニューロンの結びつきの重要度を変えていく、バックプロパゲーションという考え方もポイントです。

f:id:itstaffing:20181219133726j:plain
▲バックプロパゲーションは、結果に基づいてニューロンの重み付けやバイアスを調整していくこと

人工知能と数学

人工知能の根本を理解するには数学が欠かせません。では、人工知能を知るのに必要な数学とは何でしょうか。我妻さんによれば、次のものだそうです。

[線形代数]ベクトル・行列・テンソルによる演算など
[微分]常微分・偏微分・連鎖など
[確率・統計]標準偏差・正規分布など

ディープラーニングは、Pythonと相性がいいと言われていますが、それはNumPyとmatplotlibいうライブラリが用意されており、上記の数学分野の演算が高速で処理できる関数群や、結果を手軽に可視化できるからだそうです。

「数学が何の役に立つのかわからなかった人も多いかもしれませんが、コードにすると手軽に試行錯誤が可能になります」とのことで、さっそく行列積をコード化してみることに。

f:id:itstaffing:20181219133729j:plain
▲PythonにライブラリNumPyを読み込んでいればこの行列積の計算も簡単に記述できる

123
456

という行列と、

11
11
11

という行列の積ならば次のようになります。

import numpy as np

a = np.array([{1,2,3},[4,5,6]})
b = np.array([[1,1],[1,1][1,1])

c = np.dot(a, b)
print(c)

行列の行と列の要素を入れ替える処理を転置と呼びます。

f:id:itstaffing:20181219133733j:plain
▲行列の要素数が増えると転置の処理も時間がかかるが……

NumPyを読み込んでおけば、次のように記述できます。

d = a,T
print(d)

ディープラーニングの実演

いよいよ実際にニューラルネットワークによる機械学習を実装します。とはいえ多層になると難しいので、ここでは単一ニューロンのモデルを使用しました。

f:id:itstaffing:20181219133737j:plain
▲単一のニューロンでも基本原理は変わらない。順伝播と逆伝播があり、逆伝播によりシナプスの結合が強化される
f:id:itstaffing:20181219133739j:plain
▲各ニューロンで入力に対して重み付けやバイアスをかけ、その結果を活性化関数で処理して出力を得る

内容はsin関数のx座標とy座標の値から、ニューロンにゼロから学習させていき、x座標の値からsin関数の結果導かれるy座標を予測させるというシンプルなものでした。

我妻さんがそれぞれの機能や役割を紹介しながら、実際にコード化していきます。3層で入力と出力が1つのニューロン、中間層のみ3つのニューロンというモデルです。

単純化すると入力値xに対して重みwを掛け、バイアスbを加える。これを活性化関数fに入力して出力値yを得ます。

u = xw + b
y = f(u)

活性化関数には、ニューラルネットワークに欠かせないもので、さまざまな関数が用いられますが、ここでは、古くから使われているシグモイド関数を使用します。

y = 1 / (1 + exp(-u))

実際には上記をベースに行列の演算を行っていきます。単一ニューロンによるニューラルネットワークであれば、主要な部分は3~4行で書けてしまうということに驚かされました。

Swiftによる深層強化学習

機械学習と言えばPythonを使うというイメージがありますが、他のプログラミング言語でも実装は可能です。実際に我妻さんが、Swiftでの実装を示してくれました。

内容は「強化学習」です。試行錯誤を通じて、ある環境においてエージェントが最も報酬が得られやすい行動をとるように学習していくもので、有名なものだとチェスやオセロの強化に利用されています。

強化学習に必要な概念には、行動、状態、報酬があります。行動は、エージェントが環境に働きかけること(たとえば迷路内を移動する)。状態はエージェントが環境におかれた状態(進める方向)。報酬は結果に与えられるもの(ゴールに到達すれば+1、罠にはまると-1のような)です。

これを実装する前に、この問題を解くための代表的なアルゴリズムであるQ学習について知っておきます。

f:id:itstaffing:20181219133742j:plain
▲各状態と行動の組み合わせにQ値を設定し、エージェントは最もQ値の高い行動を選択するようにし、Q-Tableの各値が最適化されることで学習を行う

Q値は、次の式に基づいて更新されます。

Q値の更新量=学習係数×(報酬+割引率×次の状態での最大のQ値-現在のQ値)

ただし、扱う状態の数が多いとQ-Tableが巨大になり学習がうまく進まなくなるという問題点があるため、Q-Tableの代わりにニューラルネットワークを使うのだそうです。これをDeep Q-Network(DQN)と呼びます。

f:id:itstaffing:20181219133745j:plain
▲DQNを使うことで状態の数が多い場合の学習もスムーズに進むようになる

そうして我妻さんがデモをしてくれたのが、Cart Pole問題という簡単なゲーム。これは、よく学校の掃除の時間に一度はしたであろう、箒を手のひらの上に立てて、バランスを取り、箒が倒れないようにするというあの遊びです。カートの上に乗せた棒を倒れないように左右に動かすというもので、棒が45度以上傾いたら報酬-1、200フレーム保てたら報酬+1としてSwiftで実装し、iPhoneで動作するものでした。

何回かデモをしてくださり、それを見ているだけでも面白かったのですが、我妻さんによれば、これまで何度も動かしてきた中で、さまざまな戦略が試みられていることが分かったということです。

たとえば「ぶるぶる移動作戦」は、小刻みに左右への動きを繰り返し、バランスを取るという手法、「カウンターアタック作成」は、まず大きくどちらか片方に動かし、すぐに逆に大きく動かすことでバランスを取ろうとする手法だそうで、他にもいくつも特徴的な学習の試みがなされているそうです。

今回のイベントでは、難しい数式も出てきましたが、機械学習の中身に踏み込んだものであり、考え方をコードに落とし込むというプログラミングの根源的な面白さもありました。数学とあわせて、よりディープラーニングへの理解を深めていきましょう。

【イベントレポート】人工知能システムの開発を企画~運用するために気を付けることとは?

株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するイベントを定期的に開催しています。

2018年10月26日のイベントでは「これからますます需要の高まる『人工知能システムのプロジェクトマネージャ』を学ぶ」を開催。

機械学習をはじめとする人工知能の技術が流行する中、ソフトウェアやアルゴリズムの解説本やセミナーが増えています。一方で、アルゴリズムを理解していても、システム開発プロジェクトにおけるプロセスや作業について理解していないと、仕事の進め方に迷うことになります。そこで今回は、書籍『人工知能システムのプロジェクトがわかる本』の著者である本橋洋介さんが、人工知能を使ったシステムの開発プロセスや、各フェーズでの心構えについて解説してくれました。

■今回のイベントのポイント

・人工知能システムの開発プロセスと従来型システムの違い
・企画フェーズで気を付けること
・POCフェーズで気を付けること
・開発フェーズで気を付けること
・運用フェーズで気を付けること

【講師プロフィール】
本橋 洋介さん
東京大学工学系研究科産業機械工学専攻修士課程修了。NEC入社後、人工知能・知識科学・機械学習・データマイニング技術と分析ソリューションの研究開発に従事。機械学習の実問題適用を専門としており、これまでに機械学習技術を用いた分析サービス・システムの導入について30社以上に対して実績あり。2016年、NECが新規に創設したシニアデータアナリストの初代認定者になる。AI技術やサービスの広報役としてビジネスカンファレンスなどでの講演を多数行うと共に、企業トップ層へのAI活用に関するロードマップ策定のコンサルティングを実施。「人工知能システムのプロジェクトがわかる本 ―企画・開発から運用・保守まで―」(翔泳社)

人工知能システムの開発プロセスと従来型システムの違い

人工知能システムの開発プロセスは従来型のシステムと違い、企画→トライアル(POC)→開発→運用・保守という流れになるそうです。

f:id:itstaffing:20181212141331j:plain
▲トライアル(POC)というフェーズやデータ分析が入るのがポイント。運用フェーズでもモデル更新や再学習などが発生する。

また、機械学習システムは、完成後、ずっと動き続けているものはなく、本橋さんが知る限りで、長いものでも6年ぐらい。一般のシステムに比べると稼働期間が短いかもしれませんが、その理由は、時間経過と共に、ルールを覚え直させる必要があるためとか。従来型システムと、けっこう違うところがあるものなのですね。

企画フェーズで気を付けること

人工知能システム導入の目的は、概ね以下の4つのいずれかが多いそうです。

・売上向上
・コストダウン
・品質向上
・リスク低減

人工知能に過度に期待するお客さんも多く、実際の予測結果を知ると「この程度か」と落胆することも多いそうです。そんなとき、本橋さんは「コンビニの仕入れを担当する一番スゴイ人の予測は上回れないが、その下に8割ぐらいいるはずの、次にスゴイ人の予測を上回ることはできると思います」と説明するそうです。安定した予測と、全体の底上げにつながるのは大きいですよね。

AIシステムのシステム構成は次のようになっています。学習部と予測部は独立しているというところがポイントです。

f:id:itstaffing:20181212141334j:plain
▲学習部で導き出したルールを、予測部に受け渡して予測を行う

人工知能システムの導入に際しては、まず業務フローを明確にします。

f:id:itstaffing:20181212141338j:plain
▲このほか、通常の意思決定は人工知能が行い、例外処理のみを人間が行うパターンや、人工知能が導き出したルールを人間が確認し、それを情報システムに組み込んでいくというパターンもある。

本橋さんによれば「AIはデータと目的を選んだらほぼ終わり」だそうで「だからデータは重要」とのことです。データ選びは5W2Hだそうです。

f:id:itstaffing:20181212141311j:plain
▲「H」がHow manyとHow muchの2つあるのがポイント

さらに「無いデータは作る」ことも大切な作業だそうです。たとえばコンビニの仕入れ予測をするには各店舗の特徴を知る必要があります。店舗の近くに学校、病院、高速道路があるかどうかなど、Googleマップを見ながら個別に入力する作業が発生することもあるといいます。

また、一度分析をしてから追加データを選ぶのが効果的だそうで、たとえば「仙台の7月の予測が当たらない」という場合、「仙台七夕祭りの影響なのではないか」という考察のもと、追加データを用意します。

POCフェーズで気を付けること

トライアルのプロセスで注意が必要なのは、運用中に使えるデータを確認しておくこと。これは、運用で使えないデータでトライアルを行ったために、システム化できなくなるという問題を防ぐために大切だそうです。

どういうことかというと、たとえば月々のデータを入力する作業によるタイムラグで、インターバルが生じてしまうことがあります。

f:id:itstaffing:20181212141315j:plain
▲入力作業のタイムラグで、データを使いたいタイミングに間に合わないということもある。

また、データ数が少ないと、レアケースを過大に評価してしまう危険性があります。たとえば各都道府県別のデータを持ち寄っても、データの母集団が少ないエリアもあるかもしれません。その場合、中国地方や四国地方といったように、いくつかのエリアをまとめることで、レアケースの過大評価を防げます。

機械学習には「教師あり学習」と「教師なし学習」という2つのモデルがありますが、現在、AIシステムの8割~9割は「教師あり」で動いているそうです。

f:id:itstaffing:20181212141318j:plain
▲教師なし学習はマーケティングレポートなどに使われているそうです

システムの精度を高めるためには、データのフォーマットを合わせ、精度を上げて、予測結果が不安定になるのを防ぐという目的のために、データの加工(前処理)も必要です。

たとえば画像データならば、同じデータからも、たくさんのパターンを作り出します。

f:id:itstaffing:20181212141322j:plain
▲画像データの例。ちょっとした光の具合で見え方が変わるので、同じデータからも、いろいろなパターンを作っておく。

さらに学習結果の評価も必要になります。評価の方法も、ここでは紹介しきれないほど、たくさん教えてくださいました。

開発フェーズで気を付けること

本橋さんは「人工知能システムの開発は、普通のシステムの10倍ミスしやすい」と注意を促します。そこで要件定義の段階でデータを分析することを推奨しているそうです。

データの精度の確認、データ量の決定、学習期間のほか、モデル更新の頻度も実験しておくべきで、モデルを放置したらどうなるか、どれぐらいデータを貯めたら当たるようになるかも実験して決めておくのだそうです。

f:id:itstaffing:20181212141326j:plain
▲放置したらどうなるかを確認しておくことで、モデル更新頻度を決定する。

また、データ量が少ないときにどうするかという問題もあります。情報システム側では、(当たらないので)結果を表示しないのが情報システムの在り方なのですが、それでは困るという場合は、代替データを使うという方法を検討しておきます。

運用・保守フェーズで気を付けること

AIシステムは、開発した後も、常に賢くあるように運用フェーズの間も「育てていく」必要があるという点も、他のシステムとの大きな違いです。

たとえば、過去にはなかった要因が新たに加わった場合。近くに競合店舗が出店したりすると、データの傾向ががらりと変わり、システムの精度が劣化するので、再学習させる必要があります。また、お得意様の大型注文が年に数回発生するといったパターンは、定常的なデータではなく、異常データとして扱う必要があります。

f:id:itstaffing:20181212141329j:plain
▲AIシステムを育てるには再学習が欠かせない。

再学習では「過去のデータを忘れさせる」必要があるのですが、そういうときのためにデータを捨てるというようにシステムを組んでおかなければなりません。

以上、1時間半の短い時間の中で、かなり濃密なお話を聞かせていただいたのですが、短いレポートの字数ではすべてをお伝えできず、ごく一部しかご紹介できませんでした。
本橋さんがイベントの最後に語ってくださった「AIシステムは、お客さんの業務に詳しくならなければ賢くさせることはできない」という言葉が印象的でした。また、人工知能のシステム開発は、従来型と大きく異なる部分があることもよくわかりました。2つを照らし合わせながら、人工知能について学んでみるのもよさそうです。

増井敏克の「情報のキャッチアップが足りない」ときに読むコラム 第2回 書店や勉強会などリアルな場を活用しよう

第2回 書店や勉強会などリアルな場を活用しよう

f:id:itstaffing:20181127123931j:plain

エンジニアにとって、大切だけどなかなか教えてもらえない、情報をキャッチアップする技術。前回、ITSTAFFINGのイベントでおなじみの増井敏克さんに、インターネットを活用した情報収集法についてレクチャーいただきました。インターネットで済ましがちですが、情報収集においてやはり侮れないのは、書店や勉強会などリアルな場。足を運んでいるものの、いまひとつ活用できていない方や、書籍の選び方がわからない方は、ぜひ最後まで読んでみてください。

【講 師】増井 敏克さん
【講 師】増井 敏克さん
増井技術士事務所代表。技術士(情報工学部門)。情報処理技術者試験にも多数合格。ビジネス数学検定1級。「ビジネス」×「数学」×「IT」を組み合わせ、コンピュータを「正しく」「効率よく」使うためのスキルアップ支援や、各種ソフトウェアの開発、データ分析などを行う。著書に『おうちで学べるセキュリティのきほん』『プログラマ脳を鍛える数学パズル』『エンジニアが生き残るためのテクノロジーの授業』『もっとプログラマ脳を鍛える数学パズル』『図解まるわかりセキュリティのしくみ』(以上、翔泳社)、『シゴトに役立つデータ分析・統計のトリセツ』『プログラミング言語図鑑』『プログラマのためのディープラーニングのしくみがわかる数学入門』(以上、ソシム)がある。
 

▼第1回のコラムをまだ読まれていない方はこちら
https://www.r-staffing.co.jp/engineer/entry/20181116_1

情報収集のスタンダードである「書籍」を書店で見る

新しい技術を学ぶとき、最近ではインターネットで調べることも少なくありませんが、体系的に学ぶときには、書籍は有効なメディアです。個人が書いたブログ記事などと比べ、編集者が入っていることで正確さや読みやすさが格段に違います。

最近では電子書籍も増えていますが、その量を考えるとまだまだ紙の書籍を使う人が多いでしょう。ただ、街の書店ではなくオンライン書店での購入が増えているのは少し残念な部分もあります。ここでは、書店でコンピュータ書を選ぶことで得られるメリットについて考えてみましょう。

前提として、「コンピュータ書」には様々な種類があります。WindowsやWord、Excelなどの使い方を解説した一般向けの本から、プログラミングやネットワーク、データベースといったエンジニア向けの本、Webデザインや画像の加工といったクリエイター向けの本、各種資格試験を受ける人のための対策本など様々です。

これらの本は書店の中で棚を分けて販売されていることが一般的で、例えば、セキュリティについて知りたい場合は、一般の人が読むウイルス対策などの本と、エンジニアが読むセキュリティの本、セキュリティに関する資格についての本はそれぞれ別の棚にあります。

実際に書店に行くと、周囲にある本を手に取ることで新たな発見がある場合もあるでしょう。もちろんオンライン書店でも、興味を持った本以外にもオススメされる場合がありますが、書店ではまったく異なるジャンルの本が目に入ることがあり、情報収集の視野が広がることが期待できます。

書店によって並ぶ本は大きく違う

小説や新書であれば、住んでいる場所の近くの書店に同じような本があっても、専門書となると地元の書店では売っていないものです。ただ、専門書だからといって、とりあえず大きな書店に行こうと考えるのは早計です。

書店は、その周囲の環境によって訪れる客層が異なるため、置かれている本も異なります。例えば、住宅街にある書店では一般向けの本が多く並ぶのに対し、ビジネス街にある書店では中級者向けやエンジニア向けの本が多く並びます。大学などにある書店では、資格に関する本や専門書が多く並びます。

つまり、一箇所の書店を見るだけでは、欲しい本を見つけられなくても、ほかの書店を巡ってみると、新たな発見があるかもしれません。これは書店に限った話ではありません。

先日開催された「技術書典5」では同人誌を頒布しているサークルが470を超え、参加者数は1万人を突破しました。このように、一般の書店だけを見るのではなく、イベントや電子書籍にも注目が必要です。同人誌が電子化するケースも増えており、誰でも出版できるようになりつつあるため、電子書籍も目を離せません。

書籍を選ぶ

書店で書籍を選ぶとき、私は大きく分けて3種類の本を手に取るようにしています。まず、新たに学ぶ技術については入門書を読みます。タイトルに「はじめての」や「入門」などが付いている本が多く、図が多い本だとイメージしやすいでしょう。

ある程度知識が付いた段階では、詳しい内容まで書かれた本を読みます。ページ数も多く、高価な本が多いものの、細かな部分まで漏れなく書かれているため、常に手元に置いておきたい本です。

さらに、実務的な観点では「逆引き」と呼ばれる本も読みます。逆引き本は、やりたいことを実現する方法が書かれているため、作りたい機能など目的がはっきりしている場合にオススメです。例えば、PHPをこれから学ぶなら、以下のようなラインナップになるかもしれません。

f:id:itstaffing:20181127123934j:plain

書店での売り方に注目する方法もあります。例えば、書店では平積みされている本や表紙が見えるように陳列されている本があります。新刊や長く売れているベストセラーの本が多く、これらを参考にするのも良いでしょう。

書店で本を見るときは、まず「はじめに」を読んでみたいところです。作者がその本を書こうと思った背景や想定している読者層、その本の構成などが書かれています。また、目次には目を通し、読みたい内容が書かれているか確認します。

欲しい本が売れているかどうかは、本の最後のページにある「発売日」や「刷り数」を見ます。ITに関する本は古いと役に立たない場合があるため、発売日は重要です。また、刷り数を見ると、その本が売れているかどうか知る基準にもなります。もちろん、オンライン書店のランキングを見るのも一つの方法でしょう。

新刊情報を得るには、配信してくれるサービスを使用する方法もあります。タイトルや著者、出版社やキーワードを登録しておくと、該当する新刊が発売されるときにメールで通知してくれます。

f:id:itstaffing:20181127123937j:plain

個人的には、書店で書店員さんと仲良くなる方法がオススメです。何度も書店に足を運んで、好きな本などについて話していると、訪問するたびにこちらの興味がありそうな新刊などを教えてもらえる場合があります。

勉強会を活用する

一人で勉強していると、わからないことがあるとそのままになってしまう場合がありますが、勉強会に参加すると、その疑問を解消できる場合があります。勉強会の情報はATNDなど、各種勉強会情報のサイトを使うことで収集できます。

このとき、自分から探さなくてもいいように、新しいイベントがあると自動的に通知されるようにRSSを使って情報を受信するなどの環境をつくることが大切です(詳しくは前回のコラムをご覧ください)。

また、イベントに参加するときには、単純に受講者として参加するだけでなく、LTなどがあれば発表することをオススメします。情報を発信すると、その後の懇親会などでも話題が豊富になり、多くの情報が集まることがあります。このように、情報は発信する人に集まる傾向があります。発信しないと、その人がどのような技術に興味があるのかわからないため、なかなか情報が集まらないものです。

勉強会は発信者からの情報を聞きにいくだけでなく、自分から聞きたいことを持って行くのも一つの方法です。勉強会の中には参加者が自由に質問できる環境や、もくもく会のようにそれぞれが学びたい内容を持ち込んで勉強する場もあります。

リアルな場を使った情報収集法、いかがでしょうか。インターネット上の情報を収集するだけでなく、書店や勉強会などリアルの場を活用することで、さらに情報に幅がでてきます。日々進歩する技術を上手にキャッチアップし、エンジニアとしてのキャリアを積むために、情報収集法をたまに見直してみるのもいいでしょう。

日々情報をキャッチアップしても、イマイチ理解できないこと、皆さんが疑問に思うことって、出てくるかもしれません。本コラムでは、自分だけではキャッチアップできないテーマを、増井さんがレクチャーします。次回は、最近よく聞くAIについて。人間の仕事がなくなると言われているけれど、本当なのでしょうか。AIにできること、できないことを解説します。どうぞ、お楽しみに。

増井敏克の「情報のキャッチアップが足りない」ときに読むコラム 第1回 インターネットをとことん活用しよう

第1回 インターネットをとことん活用しよう

f:id:itstaffing:20181114131933j:plain

エンジニアのキャリアについて話をするとき、よく使われるのが「T型」や「π型」という言葉です。成長していく中で、できるだけ幅広い知識を身につけるとともに、得意分野や専門分野をできるだけ深掘りすることが求められます。また、その専門分野を増やしていくことで、複数の柱を持つことができ、他の人との差別化や社会の変化にも対応できるようになるでしょう。

ただし、上記を習得するための具体的な方法は、我流であることが多く、知らぬうちに情報が偏っていることも。上手に情報をキャッチアップするために、エンジニアの情報収集法について、ITSTAFFINGで度々登壇いただいている増井敏克さんに、レクチャーいただきます。実践的な内容をお届けしますので、日々の勉強にお役立てください。

 
【講 師】増井 敏克さん
【講 師】増井 敏克さん
増井技術士事務所代表。技術士(情報工学部門)。情報処理技術者試験にも多数合格。ビジネス数学検定1級。「ビジネス」×「数学」×「IT」を組み合わせ、コンピュータを「正しく」「効率よく」使うためのスキルアップ支援や、各種ソフトウェアの開発、データ分析などを行う。著書に『おうちで学べるセキュリティのきほん』『プログラマ脳を鍛える数学パズル』『エンジニアが生き残るためのテクノロジーの授業』『もっとプログラマ脳を鍛える数学パズル』『図解まるわかりセキュリティのしくみ』(以上、翔泳社)、『シゴトに役立つデータ分析・統計のトリセツ』『プログラミング言語図鑑』『プログラマのためのディープラーニングのしくみがわかる数学入門』(以上、ソシム)がある。

専門分野を増やすためには専門書を読み、自分で研究していくしかありません。興味を持った分野をとことん突き詰めていくことが必要でしょう。一方、幅広い知識を身につけるときにはそれほど深い知識は求められません。ただ、興味がない分野でもある程度アンテナを張っておく必要があります。

最近はインターネットで情報収集する人が増えていますが、検索するには自分でキーワードを選ばなければなりません。そして、欲しい情報だけを探して満足してしまう場合があります。これでは幅広い知識を得ることが難しくなります。

そこで考えなければならないのは、「待っていれば情報が向こうからやってくる状態を作る」ということです。電源を入れておけば次々とニュースやバラエティなどを放送しているテレビやラジオのように、インターネットを使って、ネットワークに接続していれば勝手に情報が降ってくる状態をどうやって作るのか、という方法をまずは紹介します。

RSSで情報が「降ってくる」状態を作る

Webサイトやブログなどの更新情報を自動的に取得する方法として、昔から使われている技術として「RSS」があります。1990年代に登場し、すでに20年以上も使われている技術ですが、まだまだ情報収集のツールとして有効です。

RDFなどのフォーマットで作成された要約情報を配置しているWebサイトに対し、RSSリーダーと呼ばれるソフトウェアが自動的に巡回してチェックし、更新されていると収集してくれます。RSSを使うことで、ニュースサイトなどを毎回チェックすることなく、更新があったときだけその概要を収集できます。記事のタイトルや要約の内容を見て、気になるコンテンツだけをチェックできます。

IT系でも多くのニュースサイトが対応しているため、これらのサイトをRSSリーダーに登録しておくと、最新のニュースをもれなくチェックできます。また、官公庁でもRSSに対応しているサイトがありますので、例えばIPAやJPCERT/CCのセキュリティ情報を収集するように設定しておくと、脆弱性情報などを速やかに収集できます。このエンジニアスタイルのサイトも対応していますので、ぜひチェックしてみてください。

例えば、RSSリーダーとしてFeedly(https://feedly.com)がよく使われています。Webブラウザでアクセスすることもできますし、スマートフォンアプリもありますので、ぜひ使ってみてください。Feedlyにアクセスすると、「GET STARTED FOR FREE」というボタンがあり、ここから会員登録するとログインできます。

f:id:itstaffing:20181114131945j:plain

パソコンでログインすると、画面左下にある「+ ADD CONTENT」から収集したいサイトを登録できます。URLを入力すると、対象のRSSをフォローするか確認されますので、「FOLLOW」ボタンを押すと購読できます。あとはサイトが更新されると、自動的に収集されます。

f:id:itstaffing:20181114131948j:plain

RSS以外でも情報が「降ってくる」状態を作る

企業のWebサイトや個人が作っているようなページでは、RSSに対応していないサイトが存在します。また、これまで訪れたことがないサイトではRSSでは取得できません。このような場合、キーワードで収集できるサービスを使用する方法があります。

例えば、Googleアラート(https://www.google.co.jp/alerts)で気になるキーワードを登録しておく方法があります。登録しているキーワードに合致するニュースやブログが登場すると、メールやRSSで配信してくれます。

f:id:itstaffing:20181114131951j:plain

また、NewsPicks(https://newspicks.com)のようなサービスを使うと、登録したキーワードに合致したニュースがあれば通知してくれます。まずは登録してみて、欲しい情報の量や質から、メインで使うものを判断するのもよいかもしれません。

f:id:itstaffing:20181114131954j:plain

便利なサービスを使って情報を集める

リアルタイムに情報を収集するには、TwitterやInstagramなどを使う方法もあります。新製品や障害情報、セミナー参加者の感想などを知りたい場合はSNSなどの検索機能を使うと効率的です。アカウントを持っていなくても、Yahoo!のリアルタイム検索を使うことで、簡単に情報を収集できます。

f:id:itstaffing:20181114131957j:plain

テレビやラジオと同じように情報を収集する方法として、Podcastがあります。最近はIT系のエンジニアの中にもPodcastで配信する人が増えており、ブームのようになっています。聞きたいPodcastを購読しておくと、更新されるたびに配信されます。最新のニュースや世の中のエンジニアが考えていることなどを発信されていますので、聞いているだけで様々な情報を得ることに繋がります。

キュレーションサイトも同様です。ログインして閲覧しているうちに、利用者が興味を持ちそうな情報が最適化されて表示されます。便利な一方で、興味がある情報だけが配信されるというのは、「幅広い情報収集」には繋がらないかもしれませんが、欲しい情報が得られやすいと言えます。

検索エンジンをうまく使う

Googleなどの検索エンジンは単純にキーワードを入れて検索するだけでなく、様々な検索オプションが存在します。これらを使いこなすことで、欲しい情報をうまく見つけられます。例えば、Google検索する場合には日付での絞り込みや、ファイルタイプでの検索、ドメインでの絞り込みなども可能です。

f:id:itstaffing:20181114132000j:plain

また、GoogleトレンドやGoogle画像検索といった機能を活用することもできます。Googleトレンドでは、複数のキーワードを指定して、それぞれのキーワードの検索トレンドの推移を調べられます。最新技術がどれくらい注目されているのか、他のキーワードと比べることで、新しい技術を学ぶときの判断基準にもなります。

f:id:itstaffing:20181114132003j:plain

検索エンジン以外の検索方法を使いこなす

検索に使えるのは検索エンジンだけではありません。サービスを提供しているサイトでは、そのサイト内での検索など便利な機能を用意しています。例えば、書籍を探す場合にはGoogleなどを使うよりもAmazonの検索機能を使う方が効率よく探せるでしょう。また、カーリル(https://calil.jp)といった図書館情報の検索サイトは、現在地の位置情報を使って近くにある図書館で読みたい本の在庫があるか調べる、といった使い方もできます。

f:id:itstaffing:20181114132009j:plain

商品検索にはAmazonのスマートフォンアプリを使う、といった方法もあります。手元にある商品と同じものが欲しい、といった場合はAmazonアプリにあるカメラ機能を使うと、その商品を簡単に検索できます。書籍のカバーを撮影するのはもちろんのこと、ペットボトルの飲み物や台所用品など、ラベルを撮影するだけで簡単に注文できます。

複数のツールを連携する

このように、情報収集には様々なツールを組み合わせて使うことが必要です。また、自動化できる部分はできるだけ自動化し、手作業をなくすことを考えましょう。自動化すると抜けや漏れもなくなるだけでなく、欲しい情報を一箇所に集めることで情報のバックアップを取得することにもなります。一箇所にあると検索も簡単です。

連携するツールとして、よく使われているものに「IFTTT」があります。IFTTTを使うと、複数のWebサービスを連携し、取得した情報をほかのサービスにまとめられます。例えば、TwitterやRSS、InstagramやGmailなどで集めた情報をSlackにまとめる、といった使い方ができます。

f:id:itstaffing:20181114132012j:plain

インターネットを使った情報収集法、いかがでしょうか。ひと工夫するだけで、自分の欲しい情報だけにとどまらず、幅広い知識を得るために、インターネットはかなり頼もしいツールになることがわかっていただけると嬉しいです。次回はリアルな場として、書店や勉強会の活用法について紹介します。お楽しみに。

【イベントレポート】レゴ®シリアスプレイ®でわかる自分の感情とニーズとは?

株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するイベントを、定期的に開催しています。

2018年9月28日開催のイベントでは、レゴ・ブロックを使った「レゴ®シリアスプレイ®」のワークショップを開催。それぞれがグループワークを通して、日頃なかなか見つめることのない「自分のニーズ」を見つけていきます。今回は、この記事を執筆しているライターもワークに参加して、一緒に学びました。

f:id:itstaffing:20181107101430j:plain

■今回のイベントのポイント

・頭で考えずに、手の触感を活用してできるだけ直感でワークする
・作品からストーリーを語ることで、無意識下の思いを見つけていく
・不本意な状態にあるとき「相手がこうすべき」より先に自分の「こうしたい」を明らかに


【講 師】納富 順一さん
▲【講 師】納富 順一さん
大学卒業後1年間のニートの後、テレビ局のADを経て、人材業界に。新卒、中途、障がい者など幅広い分野で人材ビジネスを経験。企業、求職者の目線に立ちづらい人材業界のあり方に違和感を持ち、もっと時代にあった本質的なアプローチを追求するためにキャリア解放区の理事長に就任。

レゴ®を使って対話を進める

納富さんは、「新卒一括採用という仕組み」に同調しない就活生を中心として、対話をベースとした採用支援を行っています。その一環として、今回のようにレゴ・ブロックを使った対話のワークショップも進めているそう。スキルだけでなく、生き方や内側に持っているものを見つめていくようにしています。

f:id:itstaffing:20181107101437j:plain
▲最初に、レゴ®シリアスプレイ®が生まれた理由を解説

この日に紹介する『レゴ®シリアスプレイ®』は、デンマークのレゴ社が、スイスの国際経営開発研究所、マサチューセッツ工科大学と協力して開発したプログラムで、2001年に完成しました。広く知られるようになったのは、NASAに導入され、チームの関係性がよくなったという実績が出てからのこと。その後、マイクロソフトやフェイスブックなど、アメリカ西海岸の企業を中心に導入が進んでいます。国内でも、企業や教育機関などに広まっています。

レゴ®シリアスプレイ®はできる限り直感的に

レゴ®シリアスプレイ®の起源などが説明された後、いよいよやり方の解説です。これから、レゴ・ブロックで作品を作っていきますが、レゴ・ブロックをまったく触ったことがないという方でも大丈夫です。むしろ、レゴ・ブロックに慣れ、作品を作り慣れている人はワークが難しくなると言います。頭で考えずに、できるだけ直感でくみ上げることが大切。設計図を頭で考えてから作るようなことはしないでほしいとのことでした。

f:id:itstaffing:20181107101440j:plain
▲各自に同じパーツが配られており、この中で作品を作っていく

「手にはさまざまな神経が張り巡らされており、外部化された脳とも言われています。手の感覚は脳と連動しているので、思考で考えずに、手の感覚でくみ上げてください。これはとても大事なポイントです」

最初のワークは、配られたパーツを使って「できるだけ高いタワーを作る」が課題。ワークがスタートすると、それぞれが思い思いに作り始めました。途中まで作ったのに崩れてしまい「あっ」という声が漏れる人も。

f:id:itstaffing:20181107101442j:plain
▲配られたパーツをすべて使い、できるだけ高く積み上げていく

ワークをして感じたのは、レゴ・ブロックを扱う手の感触の気持ちよさ。カチッとはまったときには、体で気持ちよさを感じることができます。いきなりタワーを作り始めるのではなく、いくつかくっつけたり外したりしていると、徐々にレゴ・ブロックの感覚がつかめてきました。「テストではないので隣の人の作品を見てもいいですよ」という納富さんの言葉を受け、隣の人が使っていた、「細長いレゴを横向きに使う」というテクニックを真似しました。

作品からストーリーを語る

「レゴ®シリアスプレイ®をするうえで大事なことのひとつは、作品からストーリーを語るということです。ほかの人の作品も見ながら、自分のタワーの『自慢ポイント』を説明します。その際に、自慢ポイントを指さしながら語り、聞く人はその指の先にある作品を見るようにします」

作品を見る理由は、リアルな人間関係を持ち込まないため。たとえば、社内などでワークをする場合、すでに人間関係ができあがっていると、上下関係などが出て、萎縮してしまう場合があるからなのだそう。目を見て話すのではなく、お互いに作品を見ながら話すこと。「レゴ®シリアスプレイ®は作品が全て」なのです。

グループ内で、それぞれの自慢ポイントを語り合いました。それぞれ、「不安定にならないようにした」「ここのアヒルっぽい形がいい」など語り合いました。私はもちろん、細長いレゴ・ブロックを縦に使ったこと。そのおかげで高さが稼げました。

f:id:itstaffing:20181107101448j:plain
▲出来上がった作品の中で自慢できるポイントを探し、指をさしながら説明する

「次に、そのタワーに『自分らしさ』を加えてアレンジしてください」

というのが次のワーク。私たちのグループは、自分自身を、バランスをとる天秤になぞらえる人や、回るレゴ・ブロックで楽しさを表現する人、お花で遊び要素を入れる人などがいました。

意図しないものからストーリーを作る

次のワークは、配られた写真の見本と同じ作品を作ること。写真には何種類かの作品があり、どれでも好きなものを選んでよいそうです。

「作ったものを、あなたにとっての『最悪な上司』と考えて、作品を通して最悪な理由を語ってください。レゴ®シリアスプレイ®は、作ったものに意味を与えることが大事。意図するものだけでなく、意図せざるものにも意味を与えていくためのトレーニングです」

トカゲに似た形を「トカゲのように逃げ足が速い」、頭がふたつあるモチーフを「矛盾だらけ」と意味づけをしながら、各自が何とか説明していました。

f:id:itstaffing:20181107101455j:plain
▲見本を見ながら作ったものに対しても、ストーリーを与えていく

「ストーリーを語って意味を与えていくのは、レゴ®シリアスプレイ®の最もシリアスな部分です。子どもはメタファーという概念が理解できないので、色とか形などの意味を与えていくことはできません。だからレゴ®シリアスプレイ®は大人向けなのです」

不本意を表す作品から、自分のニーズを見つける

これまではウォーミングアップ。これからが本題のワークです。

「人間関係で不本意だと思ったときのイメージを表現してください。『本意ではない』ということですが、具体的には悲しかったり、イライラしたり、寂しかったりという、ネガティブな感情を引き起こされたときのことを思い出してください。感情が動いた時のことを、できるだけ直感で作品にしてみてください」

それぞれが個人で作品を作ります。時間が来たら、これまでと同じようにストーリーを語っていきます。

「不本意だった話を細かくするのではなく、どこら辺が不本意なのか、色や形を通して意味を語ります。作品には本人の意識、無意識が両方とも反映されているので、『なんとなく作った』などとは言わないでくださいね」

グループ内の女性は、「仕事でクレームを入れてくる人がいる。いきなりひどいことを言ってきて困った」と言います。囲いの中に入っている相手が、狭い視野でいることを表していました。

f:id:itstaffing:20181107101457j:plain
▲作品から離れて語ることのないようにする。聞く人も、作品を見ながら話を聞く

私は「相手に伝えようとしたことがうまく伝わらず、相手を怒らせてしまった」様子を説明しました。伝える前にはお花だったのに、方向が曲がり、怒りをあらわす赤いレゴ・ブロックになり、ばらばらの方向を向いてしまうという形です。

f:id:itstaffing:20181107101502j:plain
▲ポイントとなる箇所に指をさしながら説明を進める

その後、テーブル内の付箋紙にその時の感情を書いていきます。「悲しい」「イライラした」など、それぞれが思い思いに書きました。

f:id:itstaffing:20181107101505j:plain
▲不本意だと思った状況に対して、自分の感情を付箋紙に書いていく

「不本意な感情を覚えると、『本当は相手がこうすべきなのに』と、人を正したり、糾弾する方向に走りやすくなります。そういう意図がみなさんの作品にもあると思います。ところが、その裏には『本意』があります。人は、興味関心のないどうでもいいことには感情が動かないはず。内なる願いが阻害されているから、不本意な気持ちになるのです。今度は、作品を直して本当に望んでいたこと、願い、ニーズを表してください」

それぞれ作品を作り、その後、同じように発表していきます。

f:id:itstaffing:20181107101508j:plain
▲「本当に望んでいたこと」を表す作品を作る

同じグループで「クレームを言う人」を不本意なできごととして表していた女性は、周囲に助けてもらうという意図の作品を作りました。

「クレームを言う人にいらいらしていたのですが、本当は周囲の人に助けてほしかったんだと気が付きました。先ほど付箋紙に『悲しい』という気持ちを書いて、なぜ悲しいのか考えたら『助けてほしかった』のだとわかったんです」

私は、自分の気持ちが相手にうまく伝わっている、という作品に。その際に、相手が受け止めきれるような、受け止めやすい小さな形のレゴ・ブロックを選びました。「自分の選び方も違っていればよかった」と気づくことができました。

それらのストーリーを語った後、その時の感情をさらに付箋紙に書いて、ワークは終了です。

f:id:itstaffing:20181107101512j:plain
▲本当に望んでいたことが実現したら、どんな感情になるか付箋紙に書く

「これまでの社会では、感情を押し殺して仕事をするのがよしとされていました。ところが、価値観が変わりつつあり、企業も変化しています。感情を表現して、やりとりしたうえで、いい関係性を作っていくことが大切だと見直されています。それは、家族やパートナーとの間でも同じ。相手を変えようとしたり、相手を律するのではなく、自分の願いや感情を相手に伝えれば対話につながっていきます」

仕事の現場で重視されがちな客観性や「べき論」を振りかざしてもなかなかうまくいかないもの。感情ベースにコミュニケーションを取り、人間関係を構築していくことこそ、これからの組織の在り方になっていくのかもしれません。