メニュー

技術ブログ

Denso IT Lab.社員による技術情報の紹介

Denso IT Laboratory researcher's blog sites

数式

RSS

ページトップへ

Vanishing Component Analysis を試作してみました

ICML2013で発表された Vanishing Component Analysis(VCA) の論文が面白そうであるということで、簡単に試作してみた。

以下に、試作したコードを公開しました:
https://github.com/htsukahara/vca/tree/master/sources/vca-1.0.0

基本的に、論文の中にあるアルゴリズムを何も考えずに実装しました。
デバッグはちゃんとやっていないので、バグがある可能性大ですので、ご注意下さい。

また、このトイデータによる実験結果について、以下にまとめてみました:

プログラムを書いてみて、意外に多変数多項式を効率良く扱うプログラムを書くのは大変なんだと思い知りました。
今回は、効率は全く考えていませんが、今後、その辺りを考えて、ちゃんと実装してみたいと思います。

[追加]
以下に、補足の記事を追加したので、そちらもご覧下さい。
「Vanishing Component Analysis を試作してみました」の補足

このエントリーをはてなブックマークに追加

Extreme Learning Machine

はじめまして.デンソーアイティーラボラトリの坂倉義明(@a2ki)と申します.よろしくお願いします.
さて,今日は,Extreme Learning Machine(ELM)についてご紹介します.ELMは,Single Layer FeedForward Neural Networkの高速な学習スキームです.今流行のDeep Networkとは真逆ですね.
高速化のポイントは,入力層から隠れ層への重みの学習を諦めることです.具体的な手順として,回帰の場合以下になります.

  1. 入力層から隠れ層への重みをランダムに生成
  2. 隠れ層の出力(活性化関数を通した)を計算
  3. 2と教示データの回帰係数を求め(疑似逆行列)隠れ層から出力層への重みとする

そりゃはやいっすよね…
ここで疑問になるのが,これで良いのかという点.これに関し提案者は,「有界・区分連続・な活性化関数,十分な数の隠れ層を用いれば,ELMは任意の関数を表現できる」事を証明する事で,この疑問に答えています(私は証明追ってませんが…).
また,本構成により,高速化だけでなく

  • 過学習し難い(学習パラメータ数が少ないので)
  • 活性化関数が微分できなくてもよい
  • 指定するパラメータが隠れ層の数だけ(今では,最大値を指定すればその間で最適な数を決めてくれるっぽい)
  • 一意解が求まる
  • 実装が超簡単

という恩恵があり,魅力的です.
以下,社内の教育で発表した資料を挙げておきます.


以上,ご参考まで.

このエントリーをはてなブックマークに追加

初投稿はHPYLMとVPYLMの自分用メモ

IT Laboratory に技術ブログができたので早速投稿しました。
VPYLM と HPYLM の自分用メモを公開します。


このエントリーをはてなブックマークに追加