誰がアパレルを殺すのか
- 作者: 杉原淳一,染原睦美
- 出版社/メーカー: 日経BP社
- 発売日: 2017/05/25
- メディア: 単行本
- この商品を含むブログ (3件) を見る
日経ビジネスに広告が出ていておもしろそうだったので読みました。アパレル業界大手の販売が思わしくないとのことで、その理由について業界の歴史や商習慣なども含めて説明しています。また、アパレル業界の常識を打ち破る形で成長している新興勢力についても説明されています。記者の方が書かれていることもあり、文章はとても読みやすかったです。産業としてアパレル業界について学びたい人であれば最初に読んでみるといいと思いました。
日経ビジネスのアパレル業界や百貨店に関する特集記事とも一部内容が重複していたため、半分ぐらいは読んだことがある内容でした。とはいえ、書き下ろしの内容もありますし、一冊の本としてまとまっているので、知識が整理できてよかったです。2章の戦前からのアパレル業界の歴史も俯瞰できてよかったですし、3章のエバーレーンやゾゾタウン、4章のジャパンブルー、メチャカリの事例もおもしろかったです。例えばジャパンブルーの欧米の販路開拓の中で「例えば欧州では小売店間のつながりが強く、オーナー同士が国をまたいで知り合いという場合が非常に多い」みたいな話はおもしろかったです。私自身は服にはあまりお金をかけないというか、ブランドなども全くわからないので、知らないことが多くてそういう意味でも楽しめました。
前々から夏に暑くてTシャツを買いに行ったら長袖が売っていて、冬に寒くて長袖や防寒着を買いに行ったら薄手の春物しか売ってないのが疑問で仕方がなかったのですが、その背景が多少なりとも理解できました。あと、常にセールしてて、定価ってなんだろうという気持ちになってたので、その辺りの問題が解消されるといいなと思います。それと、この本の家電業界版があったら読んでみたいなと思いました。やはり比較することで物事は相対的に捉えられますし、アパレル業界の現状はアパレル業界固有の問題なのかもう少し一般化できる問題なのか知りたいと思いました。
ゼロから作るDeep Learning
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
- 作者: 斎藤康毅
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/09/24
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (17件) を見る
読書会の対象書籍となったので読みました。Pythonのコードを実際に動かしながらディープラーニングの基本的な理論について学ぶことができます。具体的にはディープラーニングの理論を理解するために必要なパーセプトロン、活性化関数、損失関数、勾配などの構成要素についてPythonのコード付きで説明しています。そのため、機械学習の前提知識が多少あり、ディープラーニングに興味がある人であれば知識を整理しながら読めるのでおすすめです。
読書会をやっていたこともあり、章ごとに読書メモを作成していました。そのため、詳細については以下のエントリーをご参照ください。なお、1章のエントリーは存在しません。
- ゼロから作るDeep Learning 2章 パーセプトロン - n3104のブログ
- ゼロから作るDeep Learning 3章 ニューラルネットワーク - n3104のブログ
- ゼロから作るDeep Learning 4章 ニューラルネットワークの学習 - n3104のブログ
- ゼロから作るDeep Learning 5章 誤差逆伝播法 - n3104のブログ
- ゼロから作るDeep Learning 6章 学習に関するテクニック - n3104のブログ
- ゼロから作るDeep Learning 7章 畳み込みニューラルネットワーク - n3104のブログ
- ゼロから作るDeep Learning 8章 畳み込みニューラルネットワーク - n3104のブログ
一通り読み終えてみて、ディープラーニングに対するイメージが具体的になって良かったです。バックプロパゲーションやCNNのちょっとした紹介記事とかをネットで見かけても、よくわからなかったのが本書を読むことで具体的にイメージできるようになりました。また、ディープラーニング自体は他の機械学習の手法と異なり、ディープラーニングという固定的な手法が存在するのではなくてどちらかというとフレームワークと呼ぶのが適切で、具体的な実装として例えばCNNが存在することも理解できました。基本的なことは押さえられたと思うので、今後はもう少し理論面と実践の両方について学んでいくつもりです。
ゼロから作るDeep Learning 8章 畳み込みニューラルネットワーク
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
- 作者: 斎藤康毅
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/09/24
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (17件) を見る
前回はゼロから作るDeep Learning 7章 畳み込みニューラルネットワーク - n3104のブログです。
8章はこれまでの章のように理論の詳細について説明するのではなく、ディープラーニング歴史や実用例についての紹介でした。
- 8.1.1 よりディープなネットワークへ
- "ディープなネットワークの学習には多くの時間(おそ らく半日以上)が必要になります。"
- 半日!!!いや、まぁ機械学習の世界ではそれでも短いのかもだけど。。
- "ディープなネットワークの学習には多くの時間(おそ らく半日以上)が必要になります。"
- 8.1.2 さらに認識精度を高めるには
- Data Augmentation(データ拡張)は便利そう。データ集まらないケースもあるからなー。。ただ、画像は分かるんだけど、回帰のように数値を予測するケースだとデータ拡張は適用できるのかなー。。。
- 8.1.3 層を深くすることのモチベーション
- "「層を深くすること」の重要性については、理論的にはそれほど多くのことが分かっ ていないのが現状です。"
- 理論的に説明できないってことであって、応用として精度向上はできてるってことだろうな。
- "層を深くすることの利点のひ とつは、ネットワークのパラメータ数を少なくできることです。より詳しく言えば、 層を深くしたネットワークは、層を深くしなかった場合に比べて、より少ないパラ メータで同レベル(もしくはそれ以上)の表現力を達成できるのです。"
- なるほど。パラメータの探索作業を減らせる代わりに学習時間がかかるってことか。
- "学習の効率性も、層を深くすることの利点のひとつです。これは、層を深くしな かった場合に比べて、層を深くすることで、学習データを少なくでき、高速に学習が 行えることを意味します。"
- おっと、学習効率も上がるのか。。なら単に層を深くすればいいだけな気がするんだけど。。。問題に対して層を深くしすぎると過学習が起きるリスクはありそうだけど。。
- "「層を深くすること」の重要性については、理論的にはそれほど多くのことが分かっ ていないのが現状です。"
- 8.2.4 ResNet
- "しかし、ディープラーニングの学習においては、層を深くしすぎると、学習が うまくいかず、最終的な性能が劣ることも多々ありました。"
- 層を深くしすぎるトレードオフは学習できないことか。結局、パラメータの探索をやらない代わりにネットワークの深さの探索をやるだけな気もするんだけど。。それとも汎用化出来るものなのかなー。
- "ここでのポイントは、上流からの勾 配に対して何の手も加えずに、“そのまま”流すということです。そのため、ス キップ構造によって、勾配が小さくなったり(または大きくなりすぎたり)す る心配がなく、前層のレイヤに「意味のある勾配」が伝わっていくことが期待 できます。これまであった、層を深くすることで勾配が小さくなる勾配消失問 題は、このスキップ構造で軽減することが期待できます。"
- 発想は単純だけど、これで精度向上するんだーw
- "これは転移学習と言って、学習済みの 重み(の一部)を別のニューラルネットワークにコピーして、再学習を行いま す。たとえば、VGG と同じ構成のネットワークを用意し、学習済みの重みを 初期値とし、新しいデータセットを対象に、再学習(fine tuning)を行います。 転移学習は、手元にあるデータセットが少ない場合において、特に有効な手法 です。"
- 転移学習なんてのもあるんだ。頭いいなー。。
- "しかし、ディープラーニングの学習においては、層を深くしすぎると、学習が うまくいかず、最終的な性能が劣ることも多々ありました。"
- 8.5.4 Deep Q-Network(強化学習)
DQNは凄いなーと思いました。ゲームごとに設定を変える必要がないということは、要は同じように業務内容をゲーム画面として表現できる業務があれば、DQNで学習させられるということでしょうから。あとは歴史や実用例を知れておもしろかったです。今後もいろいろと実用化されていくんだろうなーと思いました。
ビジネススクールでは学べない世界最先端の経営学
- 作者: 入山章栄
- 出版社/メーカー: 日経BP社
- 発売日: 2015/11/20
- メディア: 単行本
- この商品を含むブログ (14件) を見る
日経ビジネスで広告を見かけて「ビジネススクールで学べる経営学は、最先端からかけ離れている!」という煽りがおもしろそうだったので読んでみました。ビジネス書でよく扱われるようなテーマについて、経営学の論文をエビデンスとしてより一歩踏み込んだ解説がされています。それぞれのテーマの結論が「よく言われているのは◯◯だけど実は△△というのが論文で示されています」みたいな感じになっていて、とてもおもしろく読めました。また、文章も特に難しい言葉を使ったりせず読みやすかったです。ビジネス書を読む人であれば読んでみるといいと思いました。
ビジネス書でよく扱われるようなテーマとしては以下のようなものがありました。詳しくは目次を参照してください。
- ポーターの競争戦略(SCP戦略)とリソース・ベースト・ビュー(RBV)は比較するのではなく、そもそも適用範囲が異なる。具体的には三つの競争の型(IO、チェンバレン、シュンペーター)に対応付けることができる。
- 組織の情報の共有で重要なのは「組織の全員が同じことを覚えていること」ではなく「組織の誰が何を知っているかを、組織の全員が知っていること」である。
- グローバル化とよく言われるが、大半の企業はホーム地域の売上が半分以上を占めており、本当の意味でグローバル企業と呼べるような企業はほとんど存在しない。
- 世界はグローバル化もしていないし、フラット化もしていない。
- ダイバーシティー経営というが、デモグラフィー型の人材多様性は組織のパフォーマンスに影響を及ぼさない。
- 同族企業は海外でも多いし、業績も悪くない。
本書を読んで改めて手法というのはそれ単体で成り立たず文脈に依存するということを認識できてよかったです。例えるならとりあえず体調が悪くなったら風邪薬を飲むみたいなやり方もあるんでしょうけど、切り傷や打撲に風邪薬を使うのは筋が悪いみたいな感じでしょうか。病気の治療でも症状に合わせて処置を変えるように、ビジネス上の課題も万能な手法はなくて前提に応じて手法を使い分ける必要がありますし、複数の手法を組み合わせる必要があることに気づけました。普段やっているシステム開発だと例えば単体テストのメリット・デメリットや導入する前提みたいなのは分かるんですけど、いわゆるビジネスそのものは経験が少ないので、そんな当たり前のことを認識できていませんでした。そのため、ここ1年ぐらいで読んだビジネス書の中で一番良い本であったと思います。今後も筆者が主張する「思考の軸」を増やせるようビジネス書を読んでいければと考えています。
ゼロから作るDeep Learning 7章 畳み込みニューラルネットワーク
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
- 作者: 斎藤康毅
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/09/24
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (17件) を見る
前回はゼロから作るDeep Learning 6章 学習に関するテクニック - n3104のブログです。
7章では画像処理で利用される畳み込みニューラルネットワーク(convolutional neural network:CNN)について説明しています。
- 7.2.1 全結合層の問題点
- "全結合層の問題点は何でしょうか。それは、データの形状が“無視”されてしまう ことです。"
- それが、Deep Learningの売りだと思ってたんだけど。。特徴抽出を考えるようになったら、それは従来手法と差がなくて、そうなると単に予測精度を上げられる代わりにより複雑なモデルとどう向き合うかが求められるようになっただけなのかなぁ。。 ← これは勘違いで7章を一通り読むと分かるけど、縦とか丸とか斜めとかそういう形を抽出するような処理は学習した結果得られるので、そういう意味では従来手法とは異なる。学習がしやすいようにデータに合わせたネットワークの構造にしているだけみたい。
- "全結合層の問題点は何でしょうか。それは、データの形状が“無視”されてしまう ことです。"
- 7.2.2 畳み込み演算
- なるほど。フィルターが重みに相当するのか。
- 7.2.3 パディング
- 出力サイズを維持するための手法か。
- 7.2.4 ストライド
- フィルターを適用する間隔ね。フィルターという概念を入れたのでそこに選択肢がうまれるのは当然といえば当然か。いやしかし、既にハイパーパラメーターがかなり増えている気がするんだけど。。
- 7.2.5 3 次元データの畳み込み演算
- チャンネルは要はRGBのようなものを指すみたい。てっきり3次元画像みたいなのをイメージしてた(^_^;)
- 7.2.6 ブロックで考える
- 出力を3次元にする場合はフィルター自体をチャンネル数分用意する。これってつまりRGBみたいな感じだと、それぞれに対応するフィルターを用意することでRGBのチャンネルそれぞれに対応したフィルターに学習するってことなのかなー。
- 7.3 プーリング層
- "プーリングには、Max プーリングの他に、Average プーリングなどがあり ます。Max プーリングは対象領域から最大値を取る演算であるのに対して、 Average プーリングは、対象領域の平均を計算します。画像認識の分野にお いては、主に Max プーリングが使われます。そのため、本書で「プーリング 層」という場合は、Max プーリングを指すものとします。"
- 圧縮と言えば圧縮だけど、要は特徴抽出だなー。
- "プーリングには、Max プーリングの他に、Average プーリングなどがあり ます。Max プーリングは対象領域から最大値を取る演算であるのに対して、 Average プーリングは、対象領域の平均を計算します。画像認識の分野にお いては、主に Max プーリングが使われます。そのため、本書で「プーリング 層」という場合は、Max プーリングを指すものとします。"
- 7.3.1 プーリング層の特徴
- 学習ではなくて特徴抽出の1手法ってことだよね。
- 7.4.2 im2col による展開
- "なお、図7-18 の図では、見やすさを優先し、フィルターの適用領域が重ならない ように、ストライドを大きく設定しています。実際の畳み込み演算の場合は、フィ ルター領域が重なる場合がほとんどでしょう。フィルターの適用領域が重なる場合、im2col によって展開すると、展開後の要素の数は元のブロックの要素数よりも多く なります。そのため、im2col を使った実装では通常よりも多くのメモリを消費する という欠点があります。"
- ちょっと唐突で何を言ってるか分からない。先の実装見れば分かるかな。 ← 次節の7.4.3を見ると分かる。要は行列計算出来るようにフィルターの形に合わせて入力データを一部重複する形で変換している。
- "im2col によって入力データを展開してしまえば、その後にやることは、畳み込 み層のフィルター(重み)を 1 列に展開して、2 つの行列の内積を計算するだけで す(図7-19 参照)。"
- フィルタも同じように変換して行列計算にするのか。なるほど。最後のreshapeで元に形に戻すのも納得。結局同じ数字の並びをどういうデータ構造で表現してるだけだからなー。
- "なお、図7-18 の図では、見やすさを優先し、フィルターの適用領域が重ならない ように、ストライドを大きく設定しています。実際の畳み込み演算の場合は、フィ ルター領域が重なる場合がほとんどでしょう。フィルターの適用領域が重なる場合、im2col によって展開すると、展開後の要素の数は元のブロックの要素数よりも多く なります。そのため、im2col を使った実装では通常よりも多くのメモリを消費する という欠点があります。"
- 7.4.3 Convolution レイヤの実装
- "これはフィルター(チャンネル 3、サイズ 5 × 5)の要素 数の総和です。"
- で、行数が 9 なのは 7 × 7 の画像を 5 × 5 でストライド 1 のフィルターに適用しているので 3 × 3 = 9 になるということらしい。つまりフィルターの形に合わせて入力データを9レコードに変換していて、その際に一部データも重複することもある。
- "これはフィルター(チャンネル 3、サイズ 5 × 5)の要素 数の総和です。"
- 7.4.4 Pooling レイヤの実装
- np.max で処理できるようにまず im2col 関数でフィルタ単位に変換したデータを reshape してチャンネル単位にしている。なので、レコード数はフィルタの場合のレコード数 × チャンネル数になるはず。
- 7.5 CNN の実装
- 重みの初期化が単なるランダムに戻ってる。。CNNの場合の重みの初期値をどうするかは別途説明があるのかなー。
- 7.6.1 1 層目の重みの可視化
- 従来手法で自作していたフィルタを学習させることが出来るのがメリットということかな。そういう意味では多層ニューラルネットワークはフレームワークであって、処理対象に応じてCNNのように入力データに合わせたレイヤーを選択するって感じかな。そういう意味では多層ニューラルネットワークは利用者側の選択肢が多いので他の手法と同列に扱うのは微妙かも。他の手法だと特徴抽出でとにかく頑張るって感じになるからなー。
- "それでは、畳み込み層(1 層目)のフィルターを画像として表 示してみましょう。"
- よくある猫の画像とかもこんな感じでフィルタを図に変換してたってことかなー。
- 7.6.2 階層構造による情報抽出
- ディープラーニング の可視化に関する研究 [17] [18]
- 図7-26
- http://vision03.csail.mit.edu/cnn_art/index.html#v_single
- よくある画像のやつが出てきたw
- こんな感じで層ごとに何が反応しているか図示できるなら何層にすべきかもそこから分かるってことかなー。
- 7.7.2 AlexNet
- "ディープラーニング(層を深くしたネットワーク)は、多くの場合、大量のパ ラメータが存在します。そのため、学習には多くの計算が必要であり、さらに、 それらのパラメータを“満足”させるだけの大量のデータが必要になります。 GPU とビッグデータは、それらの課題に光を投げかけたと言えます。"
- 非常に納得。アイディアを検証できる段階にハードとデータが追いついてきたって感じなんだよなー。 チャンネル
- "ディープラーニング(層を深くしたネットワーク)は、多くの場合、大量のパ ラメータが存在します。そのため、学習には多くの計算が必要であり、さらに、 それらのパラメータを“満足”させるだけの大量のデータが必要になります。 GPU とビッグデータは、それらの課題に光を投げかけたと言えます。"
CNNの名前を聞いたことはあったのですが、詳細を知らなかったのでスッキリしました。また、多層ニューラルネットワークはフレームワークというか考え方であって、対象領域に応じてCNNのような具体的な手法が存在することも理解できました。後は可視化のところは興味があるので別途リンク先について読むつもりです。
Hooked ハマるしかけ 使われつづけるサービスを生み出す[心理学]×[デザイン]の新ルール
Hooked ハマるしかけ 使われつづけるサービスを生み出す[心理学]×[デザイン]の新ルール
- 作者: ニール・イヤール,ライアン・フーバー,Hooked翻訳チーム,金山裕樹,高橋雄介,山田案稜,TNB編集部
- 出版社/メーカー: 翔泳社
- 発売日: 2014/05/23
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (3件) を見る
社内でビジネスモデル・キャンバスのワークショップをやった際に、講師である同僚が紹介していたので読んでみました。翻訳書ですがとても読みやすかったです。ページ数も200ページほどで、説明も具体例を交えながら説明してあり、サラッと読めました。タイトルの通り使われ続けるサービスを作るためのノウハウが書かれているので、サービスの企画をやる人は読んでみるといいと思いました。
TwitterやFacebook、Googleのように日常的に利用してもらうようなサービスにするには、サービスを利用することをユーザーの習慣にする必要があるというのが本書の前提です。そしてユーザーの習慣となるようなサービスにするために「フック・モデル」というフレームワークを紹介しています。フック・モデルは以下の4つのステップに分かれており、そのステップをユーザーに何度も繰り返し経験してもらうようにすることで、ユーザーはサービスを利用することを習慣とするようになります。
- トリガー( きっかけをもたらす)
- アクション( 行動をうながす)
- リワード( 報酬を与える)
- インベストメント( 投資させる)
各章の最後に「今すぐやってみよう(Do This Now)」という課題があり、実際に企画する際はこの課題をそのまま利用できそうでした。Running Lean ―実践リーンスタートアップ (THE LEAN SERIES) *1を読んだ際も思いましたが、具体的な指示が書かれていると、まずはそれを試すことが出来るので、そういう意味でも良い本だと思いました。
*1:そういえばブログ書いてない。。
ヤフーの1on1―――部下を成長させるコミュニケーションの技法
ヤフーの1on1―――部下を成長させるコミュニケーションの技法
- 作者: 本間浩輔
- 出版社/メーカー: ダイヤモンド社
- 発売日: 2017/03/25
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
自分がマネージャーをやってるチームで1on1をやってみようという話になったのですが、1on1についてまったく知らなかったので読んでみました。ページ数も240ページ程度でさくっと読めますし、内容も事例と対談中心で読みやすかったです。1on1がどういうものか知りたい人はとりあえず読んでみるといいと思いました。
読んでみて、とりあえず1on1をやってみようと思うようになりました。読む前までは目的や効果について懐疑的な印象を持っていました。メンバーの育成が目的の手法に見えていて、現在のチームのメンバーは全員自律的に動けるメンバーばかりで、今更かなーという印象があったので。読み終わってもその印象が完全に拭えてはいないのですが、とりあえず暫くやってみて判断しようという気持ちになりました。理由は以下の通りです。
- 文面から筆者の真摯な人柄というか育成に対する熱が伝わった。
- 効果はやらないと実感できないと書かれていた。
- 普段のコミュニケーションの種類が私(マネージャー)からメンバーに対する進捗確認や課題解決になりがち。メンバーから私へのコミュニケーションを増やすことで気づきがありそう。
- 1on1をやったことがない。やったことがないことはやってみないと判断できない。
ということで、以下のルールで暫く実施するつもりです。
- 隔週(月2回)とする。書籍の中で最大でも3週間で1ヶ月あいだを空けてはいけないという記述があった。
- 1回30分前後とする。様子を見て15分ぐらいにするかも。
- マネージャーはアジェンダを用意しない。メンバーが用意する。
- 話題は任意とする。
- メンバーもなるべくヤフーの1on1―――部下を成長させるコミュニケーションの技法を読む。
基本は毎週らしいのですが、それは辛いので隔週としました。あと、毎日様子を見てると毎週ネタが見つかるみたいなことが書いてあったのですが、今の職場は週の半分はリモートワーク+オフィスも地理的、タイムゾーンすら異なるメンバーなので、ネタが見つかる印象を全く持てなかったのもあります(^_^;)