365などのMicrosoftの最新の製品やとりくみを、Microsoftの社員やそれを使っている企業が発表、ディスカッションするイベントです。この記事では、そんなイベントで僕が聞いた内容や考えたことをまとめてみたいと思います。2018は今日と明日の2日間の開催ですので、ひとまず1日目終了時の中間報告です。参加したセッション参加したセッションは以下の通りです。教育版マインクラフトで始めよう。(17:10〜18:00)僕が機械学習を勉強中ということもあり、AI関連のセッションが多めです。教育関連の仕事も少ししているため(あと自分の子育てのため)、プログラミング教育に関するセッションも聞いてきました。ここから、それぞれのセッションについて振り返ってみたいと思います。ここからの振り返りはセッションの内容を紹介するものではありませんのでご了承ください。基調講演イベントの開幕として全参加者が参加する基調講演です。ここで、この1年間、またこれからの1年間でマイクロソフトが発表した製品や力を入れていく取り組みがプレゼンテーションされます。Shareを中心とする開発ツールの進化MRの活用事例といったものでした。これだけ書かれてもよう分からん、という感じですが、詳しくは他の方のブログや基調講演の動画をご覧いただければと思います。CODE僕が一番印象に残ったのが、「開発者が新しい価値を創造する(つまり新しい製品を作リ出す)のをサポートする」という点が何度も強調されていたことです。何年か前までは、Microsoftというと、WindowsやOffice製品を「売って稼ぐ」というスタンスだったイメージで、乱暴に言えば「売れればOK」というイメージでした。今回の基調講演から受けた印象は、Microsoftはあくまでも開発を手出すけするいくつかの道具を提供するだけで、実際に具体的な価値をエンドユーザーに届けるのは開発者自身、というものです。OSなどの一般消費者向けの製品に関する発表やセッションは無く、主に発表されるのはAzureの各製品や開発環境、MR事例という、開発者のアイデアを増幅させ、その実現を促進するような製品ばかりでした。CODE」ということで、やはり開発が楽しくなるイベントがテーマのようです。開発に関して、個人的には特に初心者向けの環境整備がとても進んでいる印象です。Serviceをはじめとする製品のほとんどにブラウザ上で試せるデモがついていたり、初学者向けの学習資料が豊富に用意されていたり、ポータル画面もAWSやGCPなどの他のクラウドサービスに比べて触りやすいなど、「なんか難しいから手が出せない」ということが極力ない工夫がされていることも、Microsoft製品の良いところだと考えました。女性の活躍もう一つ印象に残ったのが「女性の活躍」です。世の中に「女性の活躍に力を入れています」と口で言うだけで実情が伴わない、伴ない企業というのはいくらでもあると思います。Microsoftは今回の基調講演、スピーカーが全員女性(最後に総括した平野社長以外)という人選での発表でした。この後のセッションでも女性の働き方をテーマにしたものがいくつかあり、本当に女性が活躍できる環境に取り組んでいて、実際に成果が出ていることを伺うことができました。実際プレゼンテーションなどは、女性の方が声が高いせいか聞いていて楽しく、また日本語、英語問わず聞き取りやすかった印象です。先日アメリカで行われたのMicrosoft本社のBuildでは男性のスピーカーも多くて「カッコ良い」感じでしたが、こちらは「わかりやすくて楽しい」感じでした。基調講演(やセッション)を聞いていると、とにかくAzureが使いやすいように説明されるので簡単に導入できるような気分になってしまうのですが、それと同時に、以前に所属していた会社でこの手の新しい技術の取り入れにものすごい労力が使われていた様を思い出しました。DevOps系やアプリケーション系のプロダクトは、ソースコードやノウハウなどの今まで積み上げてきた資産を根本的な考え方から変えてしまうものであるため、導入(入れ替え)コストや学習コストは想像以上に膨れ上がることが大半です。Centerなどの開発環境系は、何かミスやバグがあったとしてもエンドユーザーへ提供するサービスに影響が出ることは考えづらいため、興味のあるメンバーが簡単に使い始めてみる、ということが可能です。紹介されるプロダクトを少し触って感覚が掴めたら、それを自分の開発しているプロダクトに取り入れてみる様を想像してみると、そのプロダクトの使い方とはまた違った新しい壁が見えてくるのではないかと思います。そこで諦めるのではなく、どうそれを乗り越えるかまで考えて始めて、クラウドの恩恵を実際に受けられるのではないかと考えました。新しいプロダクトで使ってみる分にはそのような壁も低いため、新しいプロダクトで試す機会があればとても良い実績になるのではないかと思います。教育版マインクラフトで始めよう。小中学生のプログラミング学習!基調講演の後、最初のセッションはマインクラフトを利用したプログラミング初心者(特に小中高生)のプログラミング学習がテーマでした。僕はフリーランスの仕事のひとつとして新人研修も少しやっており、プログラミング初心者がプログラミングを楽しいと感じられないと言う場面を何度か見てきました。そこで、どうやったらプログラミングが楽しいと感じられるんだろう、というヒントを探すべくこのセッションに参加することにしました。Editionを使ったプログラミングの始め方と、実際の現場での活用方法の紹介、という内容でした。実際にマインクラフトの世界でプログラマチックにブロックを置いて階段を作って見たり、Agentと呼ばれる小さなロボットを動かして先生が作ったパズルを解いたり、その過程で座標や空間の捉え方を学んだり、といった、とても楽しそうな内容でした。僕も小学校のときにやりたかった。その内容と自分の新人研修の内容(Pythonを使ったプログラミング入門)を比べてみて、「面白い」と感じられるためには次のようなことが大切だと考えました。明確な課題がある明確なフィードバックがある題材が楽しいそれぞれについて、少し詳しく考えて見ます。Worldしてみて次に変数について学んで使ってみてさらにfor文、if文について学んで使ってみてというように、文法の説明を受けながら少しずつ書けるプログラムを増やしていく、というものになります。これでは、ずっとプログラムの文字列と真っ黒な実行画面とそこに出力される味気ない白い文字を見ながら1日を過ごすことになります。それができたからといって何の役にたつのかもイメージできません。そこで、最初に「今からこれをできるようになってもらいます!」と宣言し、そのための要素を一つずつ分解して理解していくことは、自分が今なんのためにその文法を習っていて、今自分がどれだけできるようになった(ゴールに近づいた)かがとても明確です。人とおり学び終わったあと、自分の力で課題を解決できたときの達成感は想像以上なのではないかと思います。マインクラフトは目に見える課題を先生が作りやすく、生徒にとってもゴールが分かりやすい環境なのだと感じました。明確なフィードバックがある自分がプログラムを書いて実行した結果が目に見て分かりやすい、というのも大事な要素だと思います。真っ黒な画面、ソースコードを実行したけど出てくるのは白い文字だけ、というフィードバックはとても味気ないものです。マインクラフトを使ったプログラミングでは、プログラムの結果は文字でなく実際のロボットの動きだったり、ブロックの設置だったり、ドアの開閉だったり、マインクラフトの世界に存在する様々なもの動きで表現されます。「ドアが開いた!」「ロボットが思い通りに歩いた!」「アイテムが回収できた!」といった分かりやすいフィードバックは、「じゃあ次はドアを閉めてみよう」「次はロボットが壁を避けて歩くようにしてみよう」「決まった手順で決まったアイテムを回収するようにしてみよう」という次のチャレンジを生み出します。プログラミングに限らず、人は自分が頑張ってやったことに対するフィードバックが欲しいものです。それが分かりやすければ分かりやすいほど達成感を味わうことができ、次のステップに自分からつなげられるのではないかと思います。題材が楽しいそもそもマインクラフトはゲームです。普通にプレイするのもも楽しいです。達成感があったとしても、「難しい」という印象は「つまらない」という感想に結びつきがちです。そんな中、「見ているだけで楽しい」マインクラフトの世界は、プログラミングの学習に対するモチベーションを維持するために最適なのではないかと思います。以上、マインクラフトを利用したプログラミングがなぜ「楽しい」のかを考えてみました。この要素はマインクラフトでなくても、普通のPython研修でも活用できるのではないかと思います。具体的にはまた考えてみようと思います。休憩マインクラフトのセッションの後は1セッション分どこにも入らずに休憩&とりそびれた昼食をとっていました。コンビニで適当に済ませようと思ったものの、ホテルの近くに何かないかなーと上に上がったらそこにはなんと「de:code参加者用ラウンジ」の文字が。!入ってみると余ったお弁当は置いてあるわ、静かだわ、コンセントはあるわでとても快適な空間でした。お弁当をありがたくいただいて、ホテル裏の庭園を一回り散歩して、デジタル疲れをとってから次のセッションに臨みましたとさ。休憩をとり、ここからの2セッションは今自分が興味を持っているAIについてです。このセッションは機械学習を実際にどのように業務に取り入れているかを、医療、風車の点検、トンネルの点検などいくつかの実例を使って紹介していただけました。ここで印象に残ったのは「『正常』以外は全て『異状』」という考え方です。従来の点検プログラムは、「異状」をプログラムで定義して、それに該当するものを異状と判断してきました。すると、想定した異状については問題なく検知できるのですが、想定していなかった異状は検知できないという問題がありました。機械学習ではアプローチが逆になります。「正常」を学習させておくことで、そこから外れた内容は全て「異状」として検知するのです。これによって、「想定外」の異状を漏らさず検知できるようになりました。モデルの精度によっては誤検知は十分にありえます。不正確だからと言って使うことをやめるのではなく、機械学習を優先度付けやダブルチェックの用途で使うなど、不正確であることを前提にした利用方法を考え、運用に取り入れるという発想は、機械学習を利用したプロダクトをサービスに組み込む際には大切になると感じました。(実際、次のりんなのセッションでも、変な応答があっても問題ない見せ方が大事との議論が出ていました)Azureの使い方の説明があるわけではなく、ひたすら事例紹介のセッションでしたが、むしろ現実に使われているリアルなアイデアをいくつも知ることができたこと、未知の異状検知や職人による属人化問題の解消に確かに機械学習が使われていることを知ることができ、とても良いセッションでした。支える技術とその開発現場からみるサービス開発1日目最後はMicrosoftのAI技術を使った女子高生Botである「りんな」を支える技術と、それをどう実際のサービス開発に落とし込むか、というセッションです。「Botサービス」もしくは「音声認識」というと、どうしても「今日の天気は?」「今日は晴れです」というような、「正解を求める」ためのサービスをイメージしてしまいます。これを「コマンド型」のAIというようです(たしか)。一方でりんなは「感情型」のAIという位置付けで、たとえば「今日の天気は?」と聞くと、「今日どこか出かけるの?」という返答が帰ってきます。違いを端的に表現すると、コマンド型のAIは問題がなるべく早く解決することを目的にしている一方、感情型のAIはなるべく長く会話が続くことを目的としている、だそうです。づちといった手法を組み合わせて会話を膨らませていき、「女子高生との自然な雑談」を実現しているとのことでした。なには画像認識技術を使った「視覚」と音声合成を使った「声」も備わっており、ファッションについてコメントしたり歌を歌ったり、本当に現実の女子高生のような振る舞いができるのも始めて知りました。AIの実際のサービスへの活用さて、このセッションの本題はこのりんなを、さらには一般的に「AI」と呼ばれるものをどう実際のサービスに落とし込むか、という議論です。セッションでは、アンチパターンとして「AIを使ってなにかやりたい」というざっくりとした要求が挙げられていました。一言に「AI」と言っても、それができることはプロダクトによって全く異なります。先ほど記載した通り「会話を続ける」ことはできても「正解を素早く返す」ことはできません。同じ「AI」でも、要件によってできることもさせることも異なるので、その要件をもっと突き詰めていかなければならないのです。場合、感情型のAIであり、他人との会話を得意とするという点を活かして、nanaアプリとコラボした上手に歌いたい人を応援するBotとしての活躍や、WEGOとコラボしたファッションチェックBotとして活用されています。Buildの基調講演でのサティア・ナデラのセリフを引用して「AIで何をしたいかではなく、AIに何をさせたいか」と説明されていましたが、まさにこのようにビジネスやサービスの要件を考え、それに合わせたAIを開発していく、というのがAIを利用したサービスを作り上げる上で大事だということでした。3年前にリリースされて今まで毎年のように中の技術が刷新されているとのことだったのですが、僕はそのことを全く知りませんでした。3年前に「りんな」を知った時の認識(技術的にも、サービス的にも)から全くアップデートがなかったと思っていたのです。それはりんなに対して特にアンテナを張っていなかったから、という個人的な事情もあるのですが、「りんな」という名称やビジュアルがリリース時から変わっていないことも一つの要因としてあるな、と考えました。ような話題性のあるプロダクトの場合、一旦ブームが過ぎ去ると、「え、りんなってあれでしょ?去年流行ってたあれ。いえば最近見ないねー」で終わってしまいます。実際にアップデートがあり、UXも変わっているのであれば、何かビジュアルや名称を刷新してまたユーザーの目を引く、という手もあるかとは思うのですが、そうすると今度は「りんな」の名称と結びつかなくなり、ブランディングのやりなおしになるんじゃないか、うむむ、、、と勝手にりんななどの流行り廃りのありそうなプロダクトのアップデート方法についてセッション中に悩んでいました。1日の振り返り1日目の報告内容は以上になります。他にも座りすぎて腰が大変なことになったとかみんな消音カメラ使って!とか椅子は列の奥から座って!とかいろいろあるのですが、まあ些細なことなので省略です。この手のイベントは話を聞いて終わり、ではなく話を聞きながらあれこれ考えてみることが大事だと思っています。100%勢いだけで書いてしまった感はありますが、今日のうちにこのブログを書き終え、忘れないうちに今日考えたことのアウトプットができてとてもよかったと思います。明日のセッションも楽しみです。(追記)2日目についても書きました。コメントをキャンセルコメントを入力してください。以下に詳細を記入するか、アイコンをクリックしてログインしてください。アカウントを使ってコメントしています。アカウントを使ってコメントしています。アカウントを使ってコメントしています。アカウントを使ってコメントしています。新しいコメントがついたらメールで通知。Blog.%d人のブロガーが「いいね」をつけました。