GRU (Gated Recurrent Unit) ã¯ããªã«ã¬ã³ããã¥ãŒã©ã«ãããã¯ãŒã¯ïŒRNNïŒã®äžçš®ã§ãç¹ã«æç³»åããŒã¿ãã·ãŒã±ã³ã¹ããŒã¿ïŒäŸãã°ãæç« ãé³å£°ãæ ªäŸ¡ã®æšç§»ãªã©ïŒã®åŠç¿ã«éåžžã«åŒ·åãªã¢ãã«ã§ããåºæ¬çãªRNNãæ±ãããåŸé æ¶å€±åé¡ãããé·æäŸååé¡ãã解決ããããã«éçºãããŸããã
ð¡ RNNã®èª²é¡ãšGRUã®åœ¹å²
åŸæ¥ã®åºæ¬çãªRNNã¯ã以äžã®ãããªèª²é¡ãæ±ããŠããŸããã
-
é·æäŸååé¡ïŒLong-Term Dependency ProblemïŒïŒ
éå»ã®æ å ±ãèšæ¶ããŠããèœåãéãããŠãããé·ãã·ãŒã±ã³ã¹ã®åãã®æ¹ã®æ å ±ãåŸåã«äŒããã®ãèŠæã§ãããäŸãããªããé·ç·šå°èª¬ã®åé ã«åºãŠããç»å Žäººç©ã®ååããç©èªã®çµç€ã§å¿ããŠããŸããããªãã®ã§ãã -
åŸé
æ¶å€±åé¡ïŒVanishing Gradient ProblemïŒïŒ
ãããã¯ãŒã¯ã®å±€ãæ·±ããªãïŒæç³»åãé·ããªãïŒã«ã€ããŠãåŠç¿ã«å¿ èŠãªãåŸé ããã©ãã©ãå°ãããªããç¹ã«éå»ã®æ å ±ã®åŠç¿ãæ»ã£ãŠããŸãåé¡ã§ãã
GRUã¯ããã®èª²é¡ã解決ããããã«èæ¡ãããã¡ã«ããºã ã®äžã€ã§ããLSTM (Long Short-Term Memory) ãšäžŠã³ãé·æäŸååé¡ãå æãã代衚çãªã¢ãã«ãšããŠç¥ãããŠããŸãã
ð GRUã®ä»çµã¿ïŒ2ã€ã®ãã²ãŒããð
GRUã®å€§ããªç¹åŸŽã¯ããã®ååã«ãããéããå éšã«ãã²ãŒãïŒGating MechanismïŒããæã£ãŠããããšã§ãããã®ã²ãŒãã¯ãã©ã®æ å ±ãèšæ¶ããã©ã®æ å ±ãå¿ããããèªåçã«åŠç¿ã»å¶åŸ¡ãã圹å²ãæãããŸãã
GRUã«ã¯äž»ã«2ã€ã®ã²ãŒãããããŸãã
- ãªã»ããã²ãŒã (Reset Gate) $\mathbf{r_t}$
- æŽæ°ã²ãŒã (Update Gate) $\mathbf{z_t}$
ãããã®ã²ãŒãã¯ãã·ã°ã¢ã€ã颿°ã䜿ã£ãŠ0ãã1ã®éã®å€ãåºåããŸãããã®å€ããã©ããããã®æ å ±ãééããããããæ±ºå®ãããéçªãã®ãããªåœ¹å²ãããŸãã
1. ãªã»ããã²ãŒã (Reset Gate) $\mathbf{r_t}$ ð§¹
- 圹å²ïŒçŸåšã®å ¥å $x_t$ ãšçŽåã®é ãç¶æ $h_{t-1}$ ãèŠãŠããã©ããããéå»ã®é ãç¶æ $h_{t-1}$ ãå¿ãããããæ±ºå®ããŸãã
- å€ã0ã«è¿ãã»ã©ãéå»ã®æ å ±ãããªã»ããããããŠå¿ããããçŸåšã®å ¥å $x_t$ ããã®æ å ±ãéèŠãããŸãã
- æ°åŒïŒç°¡ç¥åïŒïŒ$r_t = \sigma(W_r \cdot [h_{t-1}, x_t] + b_r)$
2. æŽæ°ã²ãŒã (Update Gate) $\mathbf{z_t}$ ð
- 圹å²ïŒçŸåšã®å ¥å $x_t$ ãšçŽåã®é ãç¶æ $h_{t-1}$ ãèŠãŠããã©ããããéå»ã®æ å ±ãä¿æããã©ããããæ°ããæ å ±ãåã蟌ããããæ±ºå®ããŸãã
- ãã®ã²ãŒãããLSTMã«ãããå ¥åã²ãŒããšå¿åŽã²ãŒãã®åœ¹å²ãå ŒããŠãããããLSTMãããã·ã³ãã«ã«ãªã£ãŠããŸãã
- å€ã1ã«è¿ãã»ã©éå»ã®æ å ±ããã®ãŸãŸæµãã0ã«è¿ãã»ã©æ°ããæ å ±ãå€ãåã蟌ã¿ãŸãã
- æ°åŒïŒç°¡ç¥åïŒïŒ$z_t = \sigma(W_z \cdot [h_{t-1}, x_t] + b_z)$
3. åè£é ãç¶æ (Candidate Hidden State) $\mathbf{\tilde{h}_t}$ ð€
- ãªã»ããã²ãŒãã§ããªã»ããããããéå»ã®é ãç¶æ ãšãçŸåšã®å ¥å $x_t$ ãåºã«ãæ°ãã**ãäžæçãªé ãç¶æ ã**ãèšç®ããŸãã
- ããã§ã¯äž»ã«tanh颿°ã䜿ãããå€ã-1ãã1ã®éã«æ£èŠåãããŸãã
- æ°åŒïŒç°¡ç¥åïŒïŒ$\tilde{h}t = \tanh(W{\tilde{h}} \cdot [r_t \odot h_{t-1}, x_t] + b_{\tilde{h}})$
- $\odot$ ã¯èŠçŽ ããšã®ç©ïŒã¢ãããŒã«ç©ïŒã衚ããŸãããªã»ããã²ãŒã $r_t$ ããã©ãã ã $h_{t-1}$ ã®æ å ±ã $\tilde{h}_t$ ã«åæ ãããããå¶åŸ¡ããŠããã®ããã€ã³ãã§ãã
4. æçµçãªé ãç¶æ (Final Hidden State) $\mathbf{h_t}$ âš
- æŽæ°ã²ãŒã $z_t$ ã䜿ã£ãŠãéå»ã®é ãç¶æ $h_{t-1}$ ãšåè£é ãç¶æ $\tilde{h}_t$ ãçµ±åããæçµçãªçŸåšã®é ãç¶æ $h_t$ ãèšç®ããŸãã
- æ°åŒïŒç°¡ç¥åïŒïŒ$h_t = (1 - z_t) \odot h_{t-1} + z_t \odot \tilde{h}_t$
- $1-z_t$ ã¯ãéå»ã®é ãç¶æ ãã©ãã ããä¿æãããããæ±ºããŸãã
- $z_t$ ã¯ãæ°ããæ å ±ïŒåè£é ãç¶æ $\tilde{h}_t$ïŒãã©ãã ããåã蟌ããããæ±ºããŸãã
- ãã®ããã«ãæŽæ°ã²ãŒãäžã€ã§ãéå»ã®èšæ¶ãšæ°ããæ å ±ã®ãã©ã³ã¹ã調æŽããŠããã®ãç¹åŸŽã§ãã
ð GRUãšLSTMã®éãã¯ïŒ
GRUãšLSTMã¯ã©ã¡ããé·æäŸååé¡ã解決ããããã®ã²ãŒãä»ãRNNã§ãããæ§é ã«éãããããŸãã
ç¹åŸŽ | GRU (Gated Recurrent Unit) | LSTM (Long Short-Term Memory) |
---|---|---|
ã²ãŒãæ° | 2〠(ãªã»ããã²ãŒããæŽæ°ã²ãŒã) | 3〠(å ¥åã²ãŒããå¿åŽã²ãŒããåºåã²ãŒã) |
å éšç¶æ | é ãç¶æ ã®ã¿ ($h_t$) | é ãç¶æ ($h_t$) ãšã»ã«ç¶æ ($C_t$) ã®2çš®é¡ |
è€éã | LSTMããã·ã³ãã«ã§ãã©ã¡ãŒã¿æ°ãå°ãªã | GRUããè€éã§ãã©ã¡ãŒã¿æ°ãå€ã |
èšç®ã³ã¹ã | LSTMããå°ãªã | GRUããå€ã |
æ§èœ | å€ãã®ã¿ã¹ã¯ã§LSTMãšåçã®æ§èœã瀺ã | éåžžã«é«ã衚çŸåãšæ§èœã瀺ã |
- ããã·ã³ãã«ã«ãããå¹ççã«ïŒGRUã¯LSTMã®æ©èœãäžéšçµ±åããã·ã³ãã«ãªãããLSTMãšåçã®æ§èœãçºæ®ããããšãå€ãã§ããç¹ã«ããŒã¿ã»ãããæ¯èŒçå°ããå Žåããèšç®ãªãœãŒã¹ãç¯çŽãããå Žåã«GRUãéžã°ããããšããããŸãã
-
ã©ã¡ããéžã¶ã¹ãïŒïŒ
å€ãã®ã±ãŒã¹ã§ã©ã¡ããéžãã§ã倧ããªå·®ã¯ãããŸããããäžè¬çã«ã¯ããŸãGRUã詊ããŠã¿ãŠãããŸããããªãå Žåã«LSTMãæ€èšããããšããã¢ãããŒããæšå¥šãããããšããããŸããæçµçã«ã¯ãã¿ã¹ã¯ãããŒã¿ã»ããã«ãã£ãŠæé©ãªã¢ãã«ãç°ãªããŸãã
ð GRUã®å¿çšäŸ
GRUã¯ããã®åŒ·åãªæç³»åããŒã¿åŠçèœåãããæ§ã ãªåéã§æŽ»çšãããŠããŸãã
-
èªç¶èšèªåŠç (NLP)ïŒ
- æ©æ¢°ç¿»èš³ (äŸ: Google翻蚳ã®äžéšã§å©çš) ð£ïžâïžð
- æç« çæãèŠçŽ ð
- ææ åæ ðð
- é³å£°èªè ð€
-
é³å£°åŠçïŒ
- é³å£°èªèãé³å£°åæ ð£ïž
-
æç³»åäºæž¬ïŒ
- æ ªäŸ¡äºæž¬ ð
- éèŠäºæž¬ ð
- ç°åžžæ€ç¥ ðš
ãŸãšã ð
GRUã¯ãåŸæ¥ã®RNNã®åŒ±ç¹ã§ãã£ãé·æäŸååé¡ããã·ã³ãã«ãªããã广çãªã²ãŒãæ©æ§ã«ãã£ãŠå æãããéåžžã«éèŠãªã¢ãã«ã§ããLSTMãšäžŠã³ãçŸä»£ã®æ·±å±€åŠç¿ã«ãããæç³»åããŒã¿åŠçã®åºç€ãšãªã£ãŠããŸãã
GRUã®ä»çµã¿ãçè§£ããããšã§ãããã¹ããé³å£°ãªã©ãæéçãªèŠçŽ ãæã€ããŒã¿ãæ±ãAIã¢ãã«ã®åäœåçãããæ·±ãçè§£ã§ããããã«ãªããŸããïŒð