CNNによる価格予測の論文:「The Price is Right: Predicting Prices with Product Images」を読んだ

タイトルの通り、CNNモデルを利用して、自動車・自転車の画像から価格を予測する論文、「The Price is Right: Predicting Prices with Product Images」を読んだ。

この論文を読んだ動機は、ネットを調べるとCNNを用いて画像を分類するという例は山ほど出てくるが、CNNを用いて画像から何らかの数値を出力するregression問題に取り組んだ例があまり見つからず、ちょっとそういったことをやる必要に迫られたので読んでみた。

自転車と自動車の画像からそれぞれの価格を推定するregressionタスクにCNNを用いた。ベースラインモデルである多クラスSVMと線形モデルに対して同等~高い精度が出た。VGGとMobileNetによる転移学習よりも精度の高いネットワーク構造PriceNetReg CNNを提案している。また、CNNモデルに関して、画像のどの部分が予測に効いているかをVisualizationすることにより示している。

CNNモデルが画像のどの部分に着目して判断を行っているかということをVisualizationしているのが面白い。次はこういった可視化技術の論文を読んでみたい。

まとめスライドはこちら。

The Price is Right Predicting Prices with Product Images_slide

CNNによるセグメンテーション論文:「U-Net Convolutional Networks for Biomedical Image Segmentation」を読んだ

タイトルの通り、CNNを用いて医療画像をセグメンテーションするU-Netというネットワーク構造の論文を読んだ。

2015年に発表されたネットワーク構造だが、その後セグメンテーションでは古典的な内容になっており、いくつか発展形のネットワークも提案されている。

論文のまとめは以下。

U-Net Convolutional Networks for Biomedical Image Segmentation_Slide

Kaggleで人気 XGBoostの論文 「XGBoost: A Scalable Tree Boosting System」を読んだ

タイトルの通りなんですが、Kaggleでとても人気のある手法のXGBoostがどういった仕組みで動いているのかを知るために次の論文を読みました。

XGBoost: A Scalable Tree Boosting System

詳しいことは、日本語で読める分かりやすい解説記事(こことか)があるのでそちらを参照していただきたいです。この記事は個人的な備忘録です。

要するにXGBoostとは決定木をすでに作った木の情報をもとにしながら何個も作ってそれらの結果を足し合わせることで、性能を向上させるBoostingの手法を効率的に実装したものと言えます。

基本的なポイントは単純ですが、決定木を作っていくうえですべての木の中から最も良いものを調べて選択するのは計算量的に難しいため、ある種の近似を用いて精度的に問題の少ない気を作っていき高速に実行可能なアルゴリズムとなっています。また、オーバーフィッティングを防ぐために、サブサンプリングや縮退化などの仕組みも導入されており、汎化性能が良くなるようになっていることもKaggleのコンテストで人気の理由の一つだと思います。

また、論文では並列化や分散処理をした場合の速度性能の評価が行われており、高い並列性能が出ています。提供されているライブラリではキャッシュが当たりやすくなるようになどの最適化が施されているので、自分で実装せずにライブラリを使いましょう。pipで簡単に入れられるようです。

不良品予測チャレンジの解説 「Using Big Data to Enhance the Bosch Production Line Performance: A Kaggle Challenge」を読んだ

Kaggleのコンテスト(Bosch Production Line Performance Challenge)としてBoschがデータを提供しているコンテストの解説論文を読んだ。

Using Big Data to Enhance the Bosch Production Line Performance: A Kaggle Challenge

このコンテストは工場の様々なセンサーデータを用いて生産されたパーツの良・不良を判定するもの。時系列のデータとなっているが、この論文の手法だと時系列の影響は特に使っていないようだ。

とにかく特徴量が多いので、カテゴリ変数を一つの数値変数に変換する手法を使ったのち、カラム数を減らしてXGBoostを用いてモデルを構築している。

また、データ量も多くメモリに乗りきらないのでオンライン学習の手法を用いている。

モデルの良さの評価にはMatthew’s Correlation Coefficientという、頻度の低いイベントの評価指標に使えるものを用いている。

所感としては、Kaggleで人気のXGBoostはsparseで大量のデータに対して強いんだなあと感じさせられる。

Abstractive Sentence Summarization with Attentive Recurrent Neural Networks

I read a paper about abstractive sentence summarization.
This is the link.

In this paper, the authors used attention mechanizm to decide where to focus when decoder outputs.
This neural network model is a modification of the state-of-the-art machine translation model.

This method outperformed the current text abstraction methods.
These days, the improvements of RNN method are heavily affecting Natural Language Processing areas.

I think abstractive sentece summarization is one of the promising areas for advancement of NLP.