Neural Network & Associative Memory

ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬ (Hopfield Network)

πŸ“‹ λͺ©μ°¨ (Table of Contents)

1. 머리말

ν˜„μž¬μ˜ λ””μ§€ν„Έ μ»΄ν“¨ν„°λŠ” κ³„μ‚°ν•˜λŠ” μž₯μΉ˜λ‘œμ„œλŠ” μ „ν˜€ μƒˆλ‘œμš΄ 것이 μ•„λ‹ˆλ‹€. 인간과 λ™λ¬Όμ˜ λ‡Œμ™€ μ‹ κ²½μ‹œμŠ€ν…œμΈ 생물학적 μ»΄ν“¨ν„°λŠ” 수백만 λ…„ 전보닀 훨씬 이전뢀터 μ‘΄μž¬ν–ˆμœΌλ©°, 감각적인 정보λ₯Ό μ²˜λ¦¬ν•˜κ±°λ‚˜ 동물듀이 ν™˜κ²½μ— μ μ‘ν•˜λŠ”λ° μžˆμ–΄μ„œ λ†€λΌμš΄ 효과λ₯Ό λ°œνœ˜ν•΄ μ™”λ‹€. 얼꡴을 μΈμ‹ν•˜κ±°λ‚˜ λ…Έλž€ λΉ›κΉ”μ˜ 유자λ₯Ό λ³΄κ³ μ„œ μ‹  맛을 μ—°μƒν•˜λŠ” 것듀은 κ³±μ…ˆμ΄λ‚˜ λ‚˜λˆ—μ…ˆκ³Ό 같은 ν†΅μƒμ˜ 계산 λ²”μ£Όλ₯Ό 훨씬 λ›°μ–΄λ„˜λŠ” 것이닀. μ΄λŸ¬ν•œ 생물학적 μˆ˜ν–‰ λŠ₯λ ₯의 νš¨μš©μ„±μœΌλ‘œ 말미암아 μ‹ κ²½ μ‹œμŠ€ν…œμ˜ 원리에 의거, 이와 μœ μ‚¬ν•œ λŠ₯λ ₯을 μˆ˜ν–‰ν•  수 μžˆλŠ” 인곡 신경망 μž₯μΉ˜λ“€μ˜ 개발이 λ”μš± μš”κ΅¬λ˜κ³  μžˆλŠ” 것이닀.

ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬λŠ” 1982 λ…„ λ―Έκ΅­ μΊ˜λ¦¬ν¬λ‹ˆμ•„ κ³΅κ³ΌλŒ€ν•™μ˜ λ¬Όλ¦¬ν•™μžμΈ μ‘΄ ν™‰ν•„λ“œ (John J.Hopfield) 에 μ˜ν•΄ μ œμ•ˆλœ μƒν˜Έκ²°ν•©ν˜• 신경망 λͺ¨λΈλ‘œμ„œ μ—°μƒκΈ°μ–΅μ΄λ‚˜ μ΅œμ ν™” 문제λ₯Ό λ³‘λ ¬μ μœΌλ‘œ ν‘ΈλŠ” 데 많이 μ‚¬μš©λœλ‹€. 특히 연상기얡에 μžˆμ–΄μ„œλŠ” μΌμ •ν•œ λ²”μš© νŒ¨ν„΄λ“€μ„ μ—°κ²°κ°•λ„λ‘œ μ €μž₯ν•˜μ˜€λ‹€κ°€ λ―Έμ§€μ˜ μž…λ ₯νŒ¨ν„΄μ΄ μ£Όμ–΄μ§ˆ λ•Œ 이와 κ°€μž₯ μœ μ‚¬ν•œ νŒ¨ν„΄μ„ μ°Ύμ•„λ‚Έλ‹€.

1982 λ…„ ν™‰ν•„λ“œμ— μ˜ν•΄ λ°œν‘œλœ "Neural networks and physical systems with emergent collective computational abilities" λž€ κ°„κ²°ν•œ λ…Όλ¬Έ [HOP82] 은 신경망 연ꡬ에 큰 영ν–₯을 끼쳀닀. κ·Έ 첫 번째 μ΄μœ λŠ” ν™‰ν•„λ“œκ°€ μƒλ‹Ήνžˆ 유λͺ…ν•œ λŒ€ν•™ (Caltech Univ.) 및 연ꡬ κΈ°κ΄€ (Bell Labs) κ³Ό 연관이 μžˆλŠ” λ‹ΉλŒ€μ˜ μ €λͺ…ν•œ λ¬Όλ¦¬ν•™μžμ˜€λ‹€λŠ” μ μœΌλ‘œμ„œ 그의 신경망에 λŒ€ν•œ 관심과 λ°œν‘œλœ 연ꡬ κ²°κ³Όκ°€ λ¬Όλ¦¬ν•™κ³„μ˜ 신경망 뢄야에 λŒ€ν•œ 인식을 κ³ μ–‘μ‹œμΌ°λ‹€. 두 번째 μ΄μœ λŠ” κ·Έκ°€ 연ꡬ에 μžˆμ–΄ μ „μž μž₯치 기술과의 연결을 ν”Όν•˜κ³  물리학적 μ‹œμŠ€ν…œκ³Ό μ‹ κ²½λ§κ³Όμ˜ λ°€μ ‘ν•œ 관계λ₯Ό μ£Όμž₯ν–ˆκΈ° λ•Œλ¬Έμ΄λ‹€.

κ³Όν•™κ³„μ˜ 연ꡬ에 μžˆμ–΄μ„œ ν”νžˆ μžˆλŠ” μΌμ΄μ§€λ§Œ ν™‰ν•„λ“œ 혼자만이 μ΄λŸ¬ν•œ 생각을 ν•œ 것은 μ•„λ‹ˆμ—ˆλ‹€. 일본의 μ•„λ§ˆλ¦¬ (Amari) λŠ” 1972 λ…„ μ‹ κ²½λ§μ˜ 역동을 λΆ„μ„ν•˜λŠ” 데 μžˆμ–΄μ„œ 일찌기 리야프노프 (Lyapunov) ν•¨μˆ˜λ₯Ό κ°•μ‘°ν–ˆμœΌλ©° [AMA72], λ˜ν•œ λ§Žμ€ 연ꡬ 그룹듀이 μ‹ κ²½λ§μ˜ 수렴 (convergence) μ„±μ§ˆμ„ μ΄ν•΄ν•˜λ €κ³  λ…Έλ ₯ν–ˆλ‹€. 예λ₯Ό λ“€λ©΄ ν—ˆλ©œ (Hummel) κ³Ό μ₯¬μ»€ (Zucker) λŠ” 1981 년에 "λŒ€μΉ­μ—°κ²° λ„€νŠΈμ›Œν¬λŠ” 맀우 μ€‘μš”ν•˜κ³ λ„ νŠΉμˆ˜ν•œ 경우이며, κ·Έλ“€μ˜ ν–‰μœ„λŠ” μ—λ„ˆμ§€ ν•¨μˆ˜μ— μ˜ν•΄ μ§€λ°°λœλ‹€" λΌλŠ” μš”μ§€μ˜ 기술적인 리포트λ₯Ό ν•˜μ˜€μœΌλ©° 이에 κ΄€ν•œ μ΅œμ’… λ¦¬ν¬νŠΈλŠ” 1983 년에 λ°œν‘œλ˜μ—ˆλ‹€ [HUM83].

ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬μ™€ μœ μ‚¬ν•˜λ©΄μ„œλ„ 두 κ°€μ§€ λ©΄μ—μ„œ λ‹€λ₯Έ λͺ¨λΈμ€ 마λ₯΄ (David Marr) 와 ν¬μ§€μ˜€ (Poggio) κ°€ μ œμ•ˆν•˜μ˜€λ‹€ [MAR78]. κ·ΈλŸ¬λ‚˜ μ—λ„ˆμ§€ ν•¨μˆ˜μ˜ μ‚¬μš©μ΄ κ³§ 신경망 ν–‰μœ„λ₯Ό λΆ„μ„ν•˜κ³  μ œμ–΄ν•œλ‹€λŠ” 것을 μ—¬λŸ¬ μ‚¬λžŒλ“€μ—κ²Œ ν™•μ‹ μ‹œν‚¨ μ‚¬λžŒμ€ ν™‰ν•„λ“œμ˜€λ‹€.

2. Hopfield Network

λ‹ΉλŒ€μ˜ μ €λͺ…ν•œ λ¬Όλ¦¬ν•™μžμ˜€λ˜ Hopfield λŠ” 물리학적 μŠ€ν•€ λͺ¨λΈλ‘œλΆ€ν„° Hopfield network λ₯Ό μ°©μ•ˆν•˜μ˜€μœΌλ©° μ—λ„ˆμ§€ κ°œλ…μ„ 신경망에 처음으둜 λ„μž…ν•˜μ˜€λ‹€. κ·ΈλŸ¬λ‚˜ Hopfield network λŠ” λ‹€μŒκ³Ό 같은 2 κ°€μ§€μ˜ μ€‘μš”ν•œ μ œμ•½μ„ κ°€μ§€κ³  μžˆλ‹€.

β‘  λ‰΄λŸ°μ‚¬μ΄μ˜ 연결강도 (weight) λŠ” λŒ€μΉ­μ΄λ‹€. 즉 wij = wji 이닀.

β‘‘ 각 λ‰΄λŸ°λ“€μ€ μ™„μ „νžˆ λΉ„λ™κΈ°μ μœΌλ‘œ (asynchronously) λ™μž‘ν•  λ•Œλ§Œ μ•ˆμ •λœ μƒνƒœμ— 도달할 수 μžˆλ‹€.

첫 번째 μ œμ•½ 쑰건은 생물학적인 λ‰΄λŸ°μ—μ„œλŠ” 일반적으둜 λŒ€μΉ­μ„±μ΄ 성립할 수 μ—†κΈ° λ•Œλ¬Έμ— 맀우 μ€‘λŒ€ν•œ μ œμ•½μ μ΄λΌκ³  ν•  수 μžˆλ‹€. 두 번째 μ œμ•½ 쑰건은 각 λ‰΄λŸ°λ“€μ΄ μ™„μ „νžˆ λΉ„λ™κΈ°μ μœΌλ‘œ μž‘λ™ν•œλ‹€λŠ” κ°€μ •ν•˜μ—μ„œλ§Œ network κ°€ μ œλŒ€λ‘œ μˆ˜ν–‰λ  수 μžˆλ‹€λŠ” κ²ƒμœΌλ‘œ, λ§Œμ•½ λ™κΈ°μ μœΌλ‘œ μž‘λ™ν•  λ•Œμ—λŠ” μ—λ„ˆμ§€κ°€ μ•ˆμ •λœ μƒνƒœμ— λ„λ‹¬ν•˜μ§€ λͺ»ν•  수 있으며 λ¬΄ν•œ 루프에 걸릴 μˆ˜λ„ μžˆλ‹€.

Hopfield network λŠ” λ‰΄λŸ°μ˜ μž‘μš©μ„ 단지 μž„κ³„κ°’μ˜ μž‘μš©μœΌλ‘œ 보고 ν›ˆλ ¨μ— μ˜ν•œ 정보가 연결강도에 μ˜ν•΄ ν‘œν˜„λœλ‹€λŠ” κ°„λ‹¨ν•œ 이둠에 κΈ°μ΄ˆν•˜κ³  있으며, 연상기얡 (associative memory) μ΄λ‚˜ μˆœνšŒνŒλ§€μ› 문제 (Traveling Salesman Problem) 와 같은 μ΅œμ ν™” (optimization) 문제λ₯Ό ν•΄κ²°ν•˜λŠ”λ° μžˆμ–΄ 맀우 μœ μš©ν•˜λ‹€. λ˜ν•œ Hopfield network λŠ” λ§Žμ€ 수의 비동기적이고 κ΅­μ†Œμ μΈ 계산을 ν†΅ν•˜μ—¬ 전역적 μ΅œμ ν™” (global optimization) λ₯Ό 이룰 수 μžˆλ‹€λŠ” 것이 증λͺ…λ˜μ—ˆκΈ° λ•Œλ¬Έμ— λ”μš± λ§Žμ€ 관심을 λŒμ—ˆλ‹€.

Hopfield network λŠ” 전역적, 지역적 μ΅œμ ν™”λ₯Ό μˆ˜ν–‰ν•  뿐만 μ•„λ‹ˆλΌ 연상 κΈ°μ–΅μž₯치 (associative memory) λ‘œμ„œλ„ 효과적으둜 μž‘λ™ν•œλ‹€. 연상 κΈ°μ–΅μž₯μΉ˜λŠ” 순차적 μ»΄ν“¨ν„°μ—μ„œ λ‚΄μš© μ£Όμ†Œ κΈ°μ–΅μž₯치 (CAM: Content Address Memory) 라고도 ν•˜λŠ”λ°, κΈ°μ–΅μž₯μΉ˜μ— κΈ°μ–΅λœ 정보에 μ ‘κ·Όν•˜κΈ° μœ„ν•˜μ—¬ μ£Όμ†Œλ₯Ό μ‚¬μš©ν•˜λŠ” 것이 μ•„λ‹ˆλΌ, κΈ°μ–΅λœ μ •λ³΄μ˜ 일뢀뢄을 μ΄μš©ν•˜μ—¬ μ›ν•˜λŠ” 정보가 κΈ°μ–΅λœ μœ„μΉ˜λ₯Ό μ•Œμ•„λ‚Έ ν›„ κ·Έ μœ„μΉ˜μ—μ„œ λ‚˜λ¨Έμ§€ 정보에 μ ‘κ·Όν•  수 μžˆλŠ” κΈ°μ–΅μž₯μΉ˜μ΄λ‹€.

Hopfield network 의 처리 μœ λ‹ˆνŠΈλ“€μ€ <κ·Έλ¦Ό 1> μ—μ„œ λ³΄λŠ” 바와 같이 μ™„μ „μ—°κ²° (fully connected) λ˜μ–΄ μžˆμ–΄μ„œ 각 μœ λ‹ˆνŠΈλŠ” λ‹€λ₯Έ λͺ¨λ“  μœ λ‹ˆνŠΈλ“€κ³Ό μ„œλ‘œ 직접적인 μ—°κ²° 경둜λ₯Ό κ°–λŠ”λ‹€. 이 μ—°κ²°μ„ λ“€μ—λŠ” μœ λ‹ˆνŠΈλ“€ μƒν˜Έκ°„μ— κ΄€λ ¨λœ 연결강도가 μ‘΄μž¬ν•œλ‹€.

μ™„μ „ μ—°κ²°λœ λ„€νŠΈμ›Œν¬
<κ·Έλ¦Ό 1> μ™„μ „ μ—°κ²°λœ λ„€νŠΈμ›Œν¬

Hopfield network λŠ” μžμ‹ μ„ μ œμ™Έν•œ λͺ¨λ“  μœ λ‹ˆνŠΈλ“€κ°„μ˜ μ–‘λ°©ν–₯으둜 μƒν˜Έμ—°κ²°λœ network 인데, 초기 λ²„μ „μ—μ„œ μž…μΆœλ ₯은 μ΄μ§„μˆ˜, μ „λ‹¬ν•¨μˆ˜λŠ” κ³„λ‹¨ν•¨μˆ˜ (hard limiter) λ₯Ό μ‚¬μš©ν•˜μ˜€μœΌλ‚˜ κ·Έ ν›„ 1986λ…„μ—λŠ” μž…μΆœλ ₯이 μ•„λ‚ λ‘œκ·ΈμΈ 버전이 λ°œν‘œλ˜μ—ˆλ‹€. <κ·Έλ¦Ό 2> λŠ” Hopfield network 의 κΈ°λ³Έ ꡬ쑰λ₯Ό λ‚˜νƒ€λ‚΄λŠ”λ° x0, x1, x2 ... xN-1 은 μž…λ ₯된 νŒ¨ν„΄μ΄κ³  x0', x1', x2' ... xN-1' 은 network κ°€ μˆ˜λ ΄ν•œ μƒνƒœμ˜ 좜λ ₯νŒ¨ν„΄μ΄λ‹€. κ·Έλ¦Όμ—μ„œ λ³΄λŠ” 바와 같이 각 μœ λ‹ˆνŠΈλŠ” μžμ‹ μ„ μ œμ™Έν•œ λ‹€λ₯Έ λͺ¨λ“  μœ λ‹ˆνŠΈλ“€κ³Ό μ™„μ „μ—°κ²°λ˜μ–΄ μžˆλ‹€.

ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬
<κ·Έλ¦Ό 2> ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬

3. 연상 κΈ°μ–΅μž₯치 (Associative Memory)

우리 인간은 과거의 μ‹œκ°„κ³Ό μƒˆλ‘œμš΄ 사건을 μ„œλ‘œ μ—°κ΄€μ‹œν‚€κ³  κΈ°μ–΅λœ 사건듀을 ν†΅ν•©ν•¨μœΌλ‘œμ¨ μƒˆλ‘œμš΄ κ°œλ…μ„ μ°½μ‘°ν•΄λ‚΄λŠ” λŠ₯λ ₯을 κ°€μ§€κ³  μžˆλ‹€. 예λ₯Ό λ“€λ©΄, μ‹¬ν•œ λ…Έμ΄μ¦ˆ (noise) λ₯Ό κ°€μ§„ λΆˆμ™„μ „ν•œ νŒ¨ν„΄μ΄λ‚˜ μ™œκ³‘λœ (distorted) νŒ¨ν„΄μ΄ μ œμ‹œλ˜μ—ˆμ„ λ•Œ, μš°λ¦¬λŠ” μ£Όμ–΄μ§„ νŒ¨ν„΄μ΄ 무엇인지λ₯Ό νŒλ‹¨ν•˜μ—¬ 본래의 μ™„μ „ν•œ ν˜•νƒœλ₯Ό μœ μΆ”ν•΄λ‚Ό 수 μžˆλ‹€. μ΄λŸ¬ν•œ 연상기얡 λŠ₯λ ₯은 κ²½ν—˜κ³Ό ν•™μŠ΅μ„ ν†΅ν•˜μ—¬ 점차적으둜 κ°œμ„ λ˜λŠ” 것이닀.

Hopfield network 의 λ™μž‘μ˜ 예λ₯Ό <κ·Έλ¦Ό 3> [LIP87] 에 λ‚˜νƒ€λ‚΄μ—ˆλ‹€.

λ‚΄μš© μ£Όμ†Œ κΈ°μ–΅μž₯치 (CAM) λ‘œμ„œμ˜ ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬μ˜ λ™μž‘ 예
<κ·Έλ¦Ό 3> λ‚΄μš© μ£Όμ†Œ κΈ°μ–΅μž₯치 (CAM) λ‘œμ„œμ˜ ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬μ˜ λ™μž‘ 예
(a) 8 개의 λŒ€ν‘œνŒ¨ν„΄λ“€  (b) λ…Έμ΄μ¦ˆκ°€ μžˆλŠ” '3' 의 μž…λ ₯에 λŒ€ν•œ 좜λ ₯

120 개의 λ…Έλ“œλ₯Ό κ°€μ§„ Hopfield network λŠ” 14,400 개의 연결강도λ₯Ό μ΄μš©ν•˜μ—¬ 그림의 상단에 λ‚˜νƒ€λ‚Έ 것과 같이 8개의 λŒ€ν‘œνŒ¨ν„΄λ“€μ„ νšŒμƒν•  수 μžˆλ„λ‘ ν›ˆλ ¨λ°›λŠ”λ‹€. 이와같이 κ²€κ³  흰 κ²ƒμœΌλ‘œ ν‘œν˜„λ˜λŠ” 숫자 νŒ¨ν„΄λ“€μ€ 각각 120 개의 ν™”μ†Œλ₯Ό κ°€μ§„λ‹€. 이 network 의 μž…λ ₯은 검은 κ²½μš°μ—λŠ” +1, 흰 κ²½μš°μ—λŠ” -1의 값을 κ°€μ§„λ‹€. 여기에 μ œμ‹œλœ μ˜ˆμ™€ 같이 숫자 '3' 을 λ‚˜νƒ€λ‚΄λŠ” νŒ¨ν„΄μ˜ 각 λΉ„νŠΈλ₯Ό 0.5 의 ν™•λ₯ λ‘œ +1 κ³Ό -1 을 μž„μ˜μ μœΌλ‘œ λ°”κΎΈμ–΄μ„œ λ…Έμ΄μ¦ˆκ°€ μ²¨κ°€λœ μž…λ ₯νŒ¨ν„΄μ€ network κ°€ 반볡 μˆ˜ν–‰λ¨μ— 따라 좜λ ₯이 점차둜 λŒ€ν‘œνŒ¨ν„΄κ³Ό 같이 λ˜μ–΄ κ°€λ‹€κ°€ 6번의 반볡 μˆ˜ν–‰ ν›„ 숫자 '3' 을 λ‚˜νƒ€λ‚΄λŠ” νŒ¨ν„΄μ— μˆ˜λ ΄ν•˜μ˜€λ‹€.

광학적인 연상 κΈ°μ–΅μž₯μΉ˜λŠ” 미ꡭ의 휴즈 μ—°κ΅¬μ†Œμ˜ λ²„λ‚˜λ“œ μ†ŒνΌ (Bernard H. Soffer) 등에 μ˜ν•΄ μ‹€ν—˜λœ κ²ƒμœΌλ‘œ <κ·Έλ¦Ό 4> 에 λ‚˜νƒ€λ‚˜ μžˆλ‹€ [BEL86]. 제일 μ™Όμͺ½μ˜ μ˜μƒμ€ 본래의 μ˜μƒμ΄κ³  μ€‘κ°„μ˜ 것은 반μͺ½μ„ κ°€λ¦° 것이며, 제일 였λ₯Έμͺ½μ˜ 것은 νšŒμƒλœ μ˜μƒμ„ λ‚˜νƒ€λ‚Έλ‹€. 좜λ ₯된 μ˜μƒμ€ λ°˜μ‚¬ μž‘μš© λ“±μœΌλ‘œ 인해 원본에 λΉ„ν•΄ 덜 λͺ…ν™•ν•˜λ‚˜ μƒλ‹Ήν•œ 근사도λ₯Ό 보인닀.

광학적인 μ—°μƒκΈ°μ–΅μ˜ 예
<κ·Έλ¦Ό 4> 광학적인 μ—°μƒκΈ°μ–΅μ˜ 예

Hopfield network 의 λ™μž‘ 원리λ₯Ό μ‚΄νŽ΄λ³΄λ©΄ λ‹€μŒκ³Ό κ°™λ‹€. μž…λ ₯λ°±ν„° X 에 λŒ€ν•΄ 좜λ ₯λ°±ν„° Y λ₯Ό κ³„μ‚°ν•˜λŠ” 연상기얡은 ν•˜λ‚˜μ˜ μ„ ν˜•λ³€ν™˜μœΌλ‘œ λ³Ό 수 있으며 ν–‰λ ¬ T 둜써 λ‚˜νƒ€λ‚Ό 수 μžˆλ‹€.

Y = TX (식 1)

이와같은 X 와 Y 의 L 개의 μŒμ— λŒ€ν•œ λ³€ν™˜ T λŠ” (식 2) 와 같이 μ£Όμ–΄μ§„λ‹€.

식 2 (식 2)

μ—¬κΈ°μ„œ M, N 은 각각 μž…λ ₯백터와 좜λ ₯λ°±ν„°μ˜ 크기이며, L 은 μ €μž₯된 νŒ¨ν„΄μ˜ 수λ₯Ό λ‚˜νƒ€λ‚Έλ‹€. 또 μž…λ ₯λ°±ν„° Xt 에 λŒ€ν•œ μ—°μƒμž¬ν˜„ (associative recall) λ°±ν„° Y*t λŠ” (식 3) 으둜 μ£Όμ–΄μ§„λ‹€.

식 3-1
식 3-2 (식 3)

μ—¬κΈ°μ„œ t λŠ” 연상 μž¬ν˜„μ½”μž ν•˜λŠ” νŠΉμ§• νŒ¨ν„΄μ„ λ‚˜νƒ€λ‚Έλ‹€. μ΄λ•Œ μž…λ ₯λ°±ν„° X 듀이 μƒν˜Έμ§κ΅ν•˜λ©΄ (Xs-1) Xt = 0 μ΄λ―€λ‘œ Xt 에 λŒ€ν•œ μ—°μƒμž¬ν˜„μ€ Yt 에 λΉ„λ‘€ν•˜κ²Œ λœλ‹€. Hopfield network μ—μ„œλŠ” 이와같은 연상기얡 κΈ°λŠ₯을 μ‹ κ²½λ§μ˜ λΉ„μ„ ν˜• ν™œμ„±ν•¨μˆ˜ (hard limiter) 및 ν”Όλ“œλ°±μ„ μ‚¬μš©ν•˜μ—¬ ν–₯μƒμ‹œν‚¨λ‹€.

N 개의 μœ λ‹ˆνŠΈλ‘œ κ΅¬μ„±λ˜λŠ” network μ—μ„œ μ‹œκ° t 일 λ•Œ i 번째의 μœ λ‹ˆνŠΈκ°€ λ‹€λ₯Έ N-1 개의 μœ λ‹ˆνŠΈλ‘œλΆ€ν„° 받은 μ‹ ν˜Έμ˜ 총합 ui(t) λ₯Ό (식 4) 둜 λ‚˜νƒ€λ‚Έλ‹€.

식 4 (식 4)

μ—¬κΈ°μ„œ vj(t) λŠ” μœ λ‹ˆνŠΈ j 의 좜λ ₯으둜 1 λ˜λŠ” 0, ΞΈi λŠ” μœ λ‹ˆνŠΈ i 의 μž„κ³„κ°’, 그리고 wij λŠ” μœ λ‹ˆνŠΈκ°„μ˜ μ—°κ²°κ°•λ„λ‘œ μœ λ‹ˆνŠΈ j λ‘œλΆ€ν„° μœ λ‹ˆνŠΈ i μ—μ˜ μ „λ‹¬νš¨μœ¨μ„ λ‚˜νƒ€λ‚Έλ‹€. μ΄λ•Œ (t+1)μ—μ„œμ˜ μœ λ‹ˆνŠΈ i 의 좜λ ₯κ°’ vi(t + 1) 은 μž…λ ₯의 총합 ui(t) κ°€ μ–‘μ˜ κ°’ (λ˜λŠ” 0) 이면 1, 음의 값이면 0 으둜 바뀐닀. 이것은 λ‰΄λŸ°μ΄ λ‹€λ₯Έ λ‰΄λŸ°μœΌλ‘œλΆ€ν„° μ‹ ν˜Έμ΄ν•©μ΄ μž„κ³„κ°’μ„ λ„˜μ„ κ²½μš°μ— ν₯λΆ„ν•˜μ—¬ ν™œμ„±ν™”λ˜λŠ” 것을 λͺ¨λΈν™”ν•œ 것이닀.

Hopfield λŠ” 이외에도 μ‹ κ²½λ§μ˜ ν–‰μœ„κ°€ μ–΄λ–€ μ–‘ (이λ₯Ό μ—λ„ˆμ§€λΌ 함) 을 κ°μ†Œμ‹œν‚€λŠ” λ°©ν–₯으둜 λ™μž‘ν•¨μ„ λ°œκ²¬ν•˜μ˜€λ‹€. 이 μ—λ„ˆμ§€λ₯Ό μ‚¬μš©ν•˜μ—¬ μ‹ κ²½λ§μ˜ λ™μž‘μ„ μ‚΄νŽ΄λ³΄λ©΄ 신경망이 μ „μ²΄μ μœΌλ‘œ μ–΄λ–»κ²Œ λ³€ν™”ν•˜κ³  있으며, μ „μ²΄λ‘œμ„œ μ–΄λ– ν•œ μ •λ³΄μ²˜λ¦¬ λŠ₯λ ₯을 κ°–κ³  μžˆλŠ”κ°€λ₯Ό ν•œλˆˆμ— 이해할 수 μžˆλ‹€. Hopfield network 의 μ—λ„ˆμ§€ EλŠ” (식 5) 와 같이 μ •μ˜λœλ‹€.

식 5 (식 5)

μ—¬κΈ°μ„œ Xi, Xj λŠ” 각각 μœ λ‹ˆνŠΈ i, j 의 좜λ ₯값을 λ‚˜νƒ€λ‚Έλ‹€. Hopfield network 의 λ°˜λ³΅μ—°μƒμ€ 각 μœ λ‹ˆνŠΈκ°€ 전체 μ—λ„ˆμ§€ E λ₯Ό μ΅œμ†Œν™”ν•˜λŠ” 데에 κΈ°μ—¬ν•˜λ„λ‘ μžμ‹ μ˜ 좜λ ₯을 μ •ν•˜κ²Œ λ˜λŠ” 과정이라 λ³Ό 수 μžˆλ‹€.

μ—¬κΈ°μ„œ μ£Όλͺ©ν•  것은 Hopfield network μ—μ„œλŠ” ν•™μŠ΅μ„ ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” 것이닀. ν•¨μˆ˜ E 의 λͺ¨μ–‘이 연결강도 wij 와 μ •μˆ˜ ΞΈi 에 μ˜ν•΄ 결정됨을 μƒκ°ν•˜λ©΄ μ§€μ—­ μ΅œμ†Œκ°’μ˜ λΆ„ν¬λŠ” 이 신경망을 λ™μž‘μ‹œν‚€λŠ” μ‹œμ μ—μ„œ κ²°μ •λœλ‹€. 그리고 μ–΄λ–€ μ΄ˆκΈ°μƒνƒœμ—μ„œ μ–΄λ–€ μˆœμ„œλ‘œ μœ λ‹ˆνŠΈκ°€ λ™μž‘ν•˜λŠ”κ°€μ— 따라 μ–΄λŠ μ§€μ—­ μ΅œμ†Œκ°’μœΌλ‘œ κ°€λŠ”κ°€κ°€ κ²°μ •λœλ‹€. 즉, <κ·Έλ¦Ό 5> μ—μ„œ μ—λ„ˆμ§€μ˜ μ΅œμ†Œμ μ€ A λ‘œμ„œ, μ—λ„ˆμ§€κ°€ A에 λ„λ‹¬ν–ˆμ„ λ•Œ μž…λ ₯에 λŒ€μ‘ν•˜λŠ” μ •ν™•ν•œ 연상 λ‚΄μš©μ„ 좜λ ₯ν•˜κ²Œ λ˜μ–΄ μžˆλ‹€. κ·ΈλŸ¬λ‚˜ λŒ€ν‘œνŒ¨ν„΄λ“€μ΄ μƒν˜Έ μ§κ΅ν•˜μ§€ μ•Šκ±°λ‚˜ μœ λ‹ˆνŠΈμ˜ μˆ˜λ³΄λ‹€ λ§Žμ•„ μ„œλ‘œμ˜ 간섭이 생길 경우 B 와 같은 μ§€μ—­ μ΅œμ†Œμ μ΄ ν˜•μ„±λœλ‹€. 즉 초기 μž…λ ₯νŒ¨ν„΄μ΄ μ™Όμͺ½μ— μ§€μ •λ˜λ©΄ μ—λ„ˆμ§€μ˜ μ΅œμ†Œμ μ€ κ²°κ΅­ B 에 μˆ˜λ ΄ν•˜κ²Œ λ˜μ–΄ A μ™€λŠ” λ‹€λ₯Έ λ‚΄μš©μ„ μ—°μƒν•˜κ²Œ λœλ‹€.

ν™‰ν•„νŠΈ λ„€νŠΈμ›Œν¬μ˜ μ—λ„ˆμ§€ ν‘œλ©΄
<κ·Έλ¦Ό 5> ν™‰ν•„νŠΈ λ„€νŠΈμ›Œν¬μ˜ μ—λ„ˆμ§€ ν‘œλ©΄

Hopfield network λ₯Ό 연상 κΈ°μ–΅μž₯치둜 μ‚¬μš©ν•  λ•Œ 두 κ°€μ§€ μ€‘μš”ν•œ ν•œκ³„λ₯Ό κ°€μ§€κ³  μžˆλ‹€. μ²«μ§ΈλŠ” μ €μž₯λ˜μ–΄ μžˆλŠ” νŒ¨ν„΄μ˜ μˆ˜μ™€ μ •ν™•νžˆ νšŒμƒλ  (recall) 수 μžˆλŠ” μˆ˜κ°€ 맀우 μ œν•œμ μ΄λΌλŠ” 것이닀. 즉, λ„ˆλ¬΄ λ§Žμ€ νŒ¨ν„΄μ„ μ €μž₯ν•˜κ³  있으면 μˆ˜λ ΄ν•  λ•Œ 잘λͺ»λœ νŒ¨ν„΄μœΌλ‘œ 도달할 수 μžˆλ‹€. Hopfield network λŠ” λŒ€ν‘œ (exemplar) νŒ¨ν„΄μ΄ μž„μ˜μ μœΌλ‘œ 생성될 λ•Œ 클래슀의 μˆ˜κ°€ μœ λ‹ˆνŠΈμ˜ 수 (N) λ‚˜ μž…λ ₯μš”μ†Œ 수의 0.15 λ°° 이상일 λ•Œ λ¬Έμ œκ°€ 되며, 일반적으둜 클래슀의 μˆ˜κ°€ 0.15 N μ΄ν•˜μΌ λ•Œ 잘 μž‘λ™ν•œλ‹€. 두 λ²ˆμ§ΈλŠ” λŒ€ν‘œνŒ¨ν„΄μ΄ λ‹€λ₯Έ λŒ€ν‘œνŒ¨ν„΄κ³Ό μœ μ‚¬ν•˜μ—¬ λ§Žμ€ λΉ„νŠΈλ“€μ„ κ³΅μœ ν•œλ‹€λ©΄ network κ°€ λΆˆμ•ˆμ •ν•΄μ§„λ‹€λŠ” 것이닀. 즉 ν•˜λ‚˜μ˜ 견본이 μ‹œκ° 0일 λ•Œ λΆˆμ•ˆμ •ν•˜κ²Œ μž‘μš©λ  경우 network λŠ” λ‹€λ₯Έ νŒ¨ν„΄μœΌλ‘œ μˆ˜λ ΄ν•˜κ²Œ λœλ‹€.

4. Hopfield network의 λ™μž‘ μ•Œκ³ λ¦¬μ¦˜

[단계 1] 연결강도 wijλ₯Ό κ²°μ •ν•œλ‹€.
연결강도 결정식
for   μΈλ±μŠ€ λ²”μœ„

이 μ‹μ—μ„œλŠ” wij λŠ” λ‰΄λŸ° j λ‘œλΆ€ν„° λ‰΄λŸ° i둜의 연결강도이고, xi λŠ” s번째 νŒ¨ν„΄μ˜ i번째 μš”μ†Œμ΄λ©° +1 λ˜λŠ” -1의 값을 κ°–λŠ”λ‹€.

[단계 2] μ•Œλ €μ§€μ§€ μ•Šμ€ μž…λ ₯νŒ¨ν„΄μœΌλ‘œ μ΄ˆκΈ°ν™”ν•œλ‹€.
μ΄ˆκΈ°ν™”μ‹

이 μ‹μ—μ„œ ΞΌi(0) λŠ” μ‹œκ° 0일 λ•Œ λ…Έλ“œ i의 좜λ ₯이고 λ˜ν•œ +1μ΄λ‚˜ -1의 값을 κ°€μ§ˆ 수 μžˆλŠ” xi λŠ” μž…λ ₯νŒ¨ν„΄μ˜ i번째 μš”μ†Œμ΄λ‹€.

갱신식
[단계 3] μˆ˜λ ΄ν•  λ•ŒκΉŒμ§€ 계속 λ°˜λ³΅ν•œλ‹€.

ν•¨μˆ˜ fh λŠ” hard limiting λΉ„μ„ ν˜• ν•¨μˆ˜μ΄λ‹€. 이 과정은 λ…Έλ“œ 좜λ ₯이 거의 λ³€ν™”κ°€ 없을 λ•ŒκΉŒμ§€ λ°˜λ³΅λœλ‹€. λ³€ν™”κ°€ 거의 없을 λ•Œ λ…Έλ“œ 좜λ ₯은 μ•Œλ €μ§€μ§€ μ•Šμ€ μž…λ ₯νŒ¨ν„΄κ³Ό κ°€μž₯ 잘 λΆ€ν•©λ˜λŠ” λŒ€ν‘œνŒ¨ν„΄μ„ λ‚˜νƒ€λ‚Έλ‹€.

[단계 4] 단계 2둜 κ°€μ„œ μˆ˜ν–‰ν•œλ‹€.

5. μ—°μƒκΈ°μ–΅μ˜ μ‹€ν—˜

ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬μ˜ λ™μž‘μ„ μ•Œμ•„λ³΄κΈ° μœ„ν•΄ λͺ‡ 개의 숫자λ₯Ό μ΄μš©ν•œ λ¬ΈμžμΈμ‹μ„ μ‹€ν—˜ν•˜μ˜€λ‹€. 각 νŒ¨ν„΄μ˜ ν¬κΈ°λŠ” 10 × 10 으둜 ν•˜μ˜€μœΌλ©° κΈ°μ–΅νŒ¨ν„΄μ€ 0, 1, 2, 3 의 4 κ°€μ§€ 숫자λ₯Ό μ‚¬μš©ν•˜μ˜€λ‹€.

(1) μ‚¬μš©λœ νŒ¨ν„΄

νŒ¨ν„΄ κ·Έλ£Ή 1
<κ·Έλ¦Ό 6> νŒ¨ν„΄ κ·Έλ£Ή 1
νŒ¨ν„΄ κ·Έλ£Ή 2
<κ·Έλ¦Ό 7> νŒ¨ν„΄ κ·Έλ£Ή 2
νŒ¨ν„΄ κ·Έλ£Ή 3
<κ·Έλ¦Ό 8> νŒ¨ν„΄ κ·Έλ£Ή 3

(2) 결과 및 고찰

μ•„λž˜μ˜ <κ·Έλ¦Ό 9> 와 <κ·Έλ¦Ό 10> 은 <κ·Έλ¦Ό 6> 의 νŒ¨ν„΄ 2 에닀 λ…Έμ΄μ¦ˆ (noise) 30 을 μ€€ λ’€ 본래의 λͺ¨μ–‘을 κΈ°μ–΅ν•˜λŠ” 것을 보인 것이닀.

동기적 κ°±μ‹ μ˜ κ²°κ³Ό
<κ·Έλ¦Ό 9> 동기적 κ°±μ‹ μ˜ κ²°κ³Ό
비동기적 κ°±μ‹ μ˜ κ²°κ³Ό
<κ·Έλ¦Ό 10> 비동기적 κ°±μ‹ μ˜ κ²°κ³Ό

동기적 κ°±μ‹ μ˜ κ²½μš°μ—λŠ” μ£ΌκΈ°κ°€ 2인 진동 ν˜„μƒμ΄ λ‚˜νƒ€λ‚˜ 기얡이 λΆˆκ°€λŠ₯함을 λ³Ό 수 μžˆλ‹€. 이에 λ°˜ν•΄ 비동기적 갱신은 μ›λž˜μ˜ λͺ¨μ–‘을 μ™„λ²½ν•˜κ²Œ 기얡함을 보여쀀닀. λ”°λΌμ„œ ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬λŠ” λΉ„λ™κΈ°μ μœΌλ‘œ λ™μž‘λ˜μ–΄μ•Όλ§Œ 연상기얡 μž₯μΉ˜λ‘œμ„œμ˜ κΈ°λŠ₯을 μˆ˜ν–‰ν•  수 μžˆλ‹€.

(3) 각 νŒ¨ν„΄λ“€μ— λŒ€ν•œ 작음 적응성 (Noise tolerance)

각 νŒ¨ν„΄λ“€μ— μž‘μŒμ„ 5 μ”© μ¦κ°€μ‹œν‚€λ©΄μ„œ μ›λž˜μ˜ νŒ¨ν„΄μ„ κΈ°μ–΅ν•  수 μžˆλŠ” ν•œκ³„, 즉 μ΅œλŒ€ 작음 적응성을 μΈ‘μ •ν•˜μ˜€λ‹€.

<ν‘œ 1> νŒ¨ν„΄κ·Έλ£Ή #1 을 μ‚¬μš©ν–ˆμ„ λ•Œμ˜ νŒ¨ν„΄κ°„μ˜ μœ μ‚¬λ„ 및 작음 적응성

ꡬ뢄 νŒ¨ν„΄ 0 νŒ¨ν„΄ 1 νŒ¨ν„΄ 2 νŒ¨ν„΄ 3 0 λ…Έλ“œμˆ˜ Energy μ΅œλŒ€ 작음 적응성
νŒ¨ν„΄ 0 - 30 31 30 56 -1,490 43
νŒ¨ν„΄ 1 30 - 27 27 48 -1,164 31
νŒ¨ν„΄ 2 31 27 - 36 53 -1,520 29
νŒ¨ν„΄ 3 30 27 36 - 44 -1,450 13

νŒ¨ν„΄ 1 κ³Ό νŒ¨ν„΄ 2 의 '0' λ…Έλ“œμˆ˜μ™€ μ΅œλŒ€ 작음 적응성을 비ꡐ해 λ³΄μ•˜μ„ λ•Œ 각각 48 일 λ•Œ 31, 53 일 λ•Œ 29 λ‘œμ„œ '0' λ…Έλ“œμˆ˜μ™€ μ΅œλŒ€ 작음 적응성 μ‚¬μ΄μ—λŠ” 직선적인 ν•¨μˆ˜ 관계가 μ—†μœΌλ©°, μ—λ„ˆμ§€μ™€ μ΅œλŒ€ 작음 적응성간에도 상관관계가 μ—†λŠ” 것 κ°™λ‹€.

<ν‘œ 2> νŒ¨ν„΄κ·Έλ£Ή #2 λ₯Ό μ‚¬μš©ν–ˆμ„ λ•Œμ˜ νŒ¨ν„΄κ°„μ˜ μœ μ‚¬λ„ 및 작음 적응성

ꡬ뢄 νŒ¨ν„΄ 0 νŒ¨ν„΄ 1 νŒ¨ν„΄ 2 νŒ¨ν„΄ 3 0 λ…Έλ“œμˆ˜ Energy μ΅œλŒ€ 작음 적응성
νŒ¨ν„΄ 0 - 28 28 34 56 -1,528 36
νŒ¨ν„΄ 1 28 - 16 24 40 -912 20
νŒ¨ν„΄ 2 28 16 - 38 48 -1,608 0
νŒ¨ν„΄ 3 34 24 38 - 60 -1,912 42

νŒ¨ν„΄ 2 κ°€ μ›λž˜μ˜ νŒ¨ν„΄μ„ μ „ν˜€ κΈ°μ–΅ν•˜μ§€ λͺ»ν•˜λŠ” 것은 νŒ¨ν„΄ 3 κ³Ό μœ μ‚¬ν•œ 뢀뢄이 λ§Žμ•˜κΈ° λ•Œλ¬Έμ΄λ‹€. νŒ¨ν„΄ 0 도 νŒ¨ν„΄ 3 과의 μœ μ‚¬λ„κ°€ 큼에도 λΆˆκ΅¬ν•˜κ³  작음 적응성이 큰 μ΄μœ λŠ” '0' 인 λ…Έλ“œμˆ˜κ°€ μ„œλ‘œ μ—‡λΉ„μŠ·ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€. νŒ¨ν„΄ 2 λŠ” '0' λ…Έλ“œμˆ˜ μ—­μ‹œ νŒ¨ν„΄ 3 에 λΉ„ν•΄ 훨씬 μ μ—ˆκΈ° λ•Œλ¬Έμ— νŒ¨ν„΄ 3 에 ν‘μˆ˜λ˜μ–΄ 버린 것이닀.

<ν‘œ 3> νŒ¨ν„΄κ·Έλ£Ή #3을 μ‚¬μš©ν–ˆμ„ λ•Œμ˜ νŒ¨ν„΄κ°„μ˜ μœ μ‚¬λ„ 및 작음 적응성

ꡬ뢄 νŒ¨ν„΄ 0 νŒ¨ν„΄ 1 νŒ¨ν„΄ 2 νŒ¨ν„΄ 3 0 λ…Έλ“œμˆ˜ Energy μ΅œλŒ€ 작음 적응성
νŒ¨ν„΄ 0 - 25 29 29 56 -1,608 35
νŒ¨ν„΄ 1 25 - 19 23 38 -896 18
νŒ¨ν„΄ 2 29 19 - 33 44 -1,496 17
νŒ¨ν„΄ 3 29 23 33 - 56 -1,784 32

νŒ¨ν„΄ 2 의 λͺ¨μ–‘을 λ‹€λ₯΄κ²Œ ν•˜μ—¬ νŒ¨ν„΄ 3 과의 μœ μ‚¬λ„λ₯Ό 38 μ—μ„œ 33 으둜 쀄이고 '0' λ…Έλ“œμˆ˜λ₯Ό 48 μ—μ„œ 44 둜 쀄여 νŒ¨ν„΄ 3 과의 차이λ₯Ό 더 크게 ν•˜μ˜€λ”λ‹ˆ 본래의 λͺ¨μ–‘을 κΈ°μ–΅ν•΄ λ‚΄μ—ˆλ‹€. 결둠적으둜 ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬λŠ” κΈ°μ–΅νŒ¨ν„΄κ°„μ˜ μœ μ‚¬λ„κ°€ μ μ„μˆ˜λ‘, κΈ°μ–΅νŒ¨ν„΄μ˜ '0' λ…Έλ“œμˆ˜κ°€ μ—‡λΉ„μŠ·ν• μˆ˜λ‘ 보닀 효과적인 κΈ°μ–΅ λŠ₯λ ₯을 가짐을 μ•Œ 수 μžˆλ‹€.

6. μ΅œμ ν™” 문제의 예 : μˆœνšŒνŒλ§€μ› 문제 (Traveling Salesman Problem)

μ΅œμ ν™” (optimization) λ¬Έμ œλž€ μ—¬λŸ¬ 개의 μ œν•œ 쑰건듀을 λ§Œμ‘±μ‹œν‚€λ©΄μ„œ μ–΄λ–€ λͺ©μ  ν•¨μˆ˜λ₯Ό μ΅œλŒ€ν™” λ˜λŠ” μ΅œμ†Œν™”μ‹œν‚€λŠ” 것을 λ§ν•œλ‹€. μ΄λŸ¬ν•œ λ¬Έμ œλ“€μ˜ 해결은 컴퓨터 κ³Όν•™, 톡계학, 물리학, 곡학 그리고 κ²½μ˜ν•™ 등에 μžˆμ–΄μ„œ 맀우 μ€‘μš”ν•˜λ©° λ§Žμ€ λ¬Έμ œλ“€μ΄ NP-μ™„μ „ (NP-complete) 문제둜 κ·€μ°©λœλ‹€. μˆœνšŒνŒλ§€μ› 문제 (TSP: Traveling Salesman Problem) 도 λŒ€ν‘œμ μΈ NP-μ™„μ „ 문제의 ν•˜λ‚˜λ‘œμ„œ μˆœνšŒνŒλ§€μ›μ΄ n 개의 λ„μ‹œλ₯Ό 단 ν•œλ²ˆμ”©λ§Œ λ°©λ¬Έν•˜μ—¬ 총 이동거리가 μ΅œμ†Œκ°€ λ˜λŠ” 경둜λ₯Ό μ°ΎλŠ” λ¬Έμ œμ΄λ‹€.

이 λ¬Έμ œλŠ” 맀우 κ°„λ‹¨ν•œ 이둠에 기초λ₯Ό 두고 μžˆμœΌλ©΄μ„œλ„ λ„μ‹œμ˜ μˆ˜κ°€ 증가함에 따라 해결에 μƒλ‹Ήνžˆ 였랜 μ‹œκ°„μ΄ κ±Έλ¦°λ‹€. ν™‰ν•„λ“œμ™€ 그의 λ™λ£Œ 탱크 [HOP85] λŠ” 연속적인 ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬λ₯Ό μ΄μš©ν•˜μ—¬ 이 문제λ₯Ό ν•΄κ²°ν•˜λ € ν–ˆμœΌλ©° μ λ‹Ήν•œ (reasonable) μ‹œκ°„λ‚΄μ— μ™ΈνŒμ› 문제의 ν•΄λ₯Ό κ΅¬ν–ˆλ‹€.

κ·ΈλŸ¬λ‚˜ λΆˆν–‰ν•˜κ²Œλ„ μ‹€μ œμ μΈ μ œν•œμ μ€ μ‘΄μž¬ν•œλ‹€. ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬λ₯Ό μ΄μš©ν•  경우 μ„±λŠ₯이 썩 μ’‹μ§€λŠ” μ•ŠμœΌλ©°, λ”κ΅¬λ‚˜ 문제의 크기가 컀질수둝 μ„±λŠ₯이 λ”μš± λ–¨μ–΄μ§„λ‹€.

ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬λ‘œ 이 문제λ₯Ό μ„€λͺ…ν•˜λŠ”λ° μžˆμ–΄μ„œ κ°€μž₯ μ€‘μš”ν•œ μš”μ μ€ 순방 (tour)을 ν‘œν˜„ν•˜λŠ” 것이닀. μˆœλ°©μ€ 0 κ³Ό 1 둜 ν‘œν˜„λ˜λŠ” 행렬이닀. 10 개의 λ„μ‹œλ₯Ό μˆœλ°©ν•˜λŠ” 행렬은 <κ·Έλ¦Ό 11> 둜 ν‘œν˜„λ  수 μžˆλ‹€.

<κ·Έλ¦Ό 11> μˆœνšŒνŒλ§€μ› ν–‰λ ¬

λ„μ‹œ 1 2 3 4 5 6 7 8 9 10
A 0001000000
B 0100000000
C 0000001000
D 0000100000
E 0000000001
F 0000000100
G 1000000000
H 0000010000
I 0000000010
J 0010000000
* μ—¬ν–‰κ²½λ‘œ : G → B → J → A → D → H → C → F → I → E

ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬λŠ” ν–‰λ ¬μ˜ μ—”νŠΈλ¦¬ 숫자만큼의 처리 μœ λ‹ˆνŠΈλ₯Ό ν•„μš”λ‘œ ν•œλ‹€. κ·ΈλŸ¬λ―€λ‘œ 10 개 λ„μ‹œμ˜ μˆœνšŒνŒλ§€μ› λ¬Έμ œλŠ” 100 (102) 개의 μœ λ‹ˆνŠΈλ₯Ό ν•„μš”λ‘œ ν•œλ‹€. λ§Œμ•½ μžˆμ„ 수 μžˆλŠ” 경우의 수λ₯Ό λͺ¨λ‘ 쑰사할 κ²½μš°μ—λŠ” λŒ€λ‹¨νžˆ λ§Žμ€ μ‹œκ°„μ΄ ν•„μš”ν•˜κ²Œ λœλ‹€. κ°€λ Ή 10 개 λ„μ‹œμ˜ 경우 9!/2 = 36,28,000/2 = 181,440 κ°€μ§€μ˜ 경우의 μˆ˜κ°€ 있고, 30 개 λ„μ‹œμΌ κ²½μš°μ—λŠ” 무렀 4 × 1030 κ°€μ§€μ˜ 경우의 μˆ˜κ°€ μ‘΄μž¬ν•œλ‹€. κ·ΈλŸ¬λ―€λ‘œ λ””μ§€ν„Έ μ»΄ν“¨ν„°λ‘œ 이 문제λ₯Ό ν’€λ €κ³  ν•  경우 λ„μ‹œμ˜ μˆ«μžκ°€ 컀짐에 따라 경우의 μˆ˜λ„ κΈ°ν•˜κΈ‰μˆ˜μ μœΌλ‘œ 컀지기 λ•Œλ¬Έμ— 문제의 해결이 거의 λΆˆκ°€λŠ₯ν•˜λ‹€. 이 문제의 λͺ©ν‘œλŠ” 100 개의 μœ λ‹ˆνŠΈλ₯Ό κ°€μ§„ λ„€νŠΈμ›Œν¬κ°€ μˆ˜λ ΄ν•˜μ—¬ μˆœλ°©μ„ λ‚˜νƒ€λ‚΄λŠ” 쒋은 행렬값을 κ΅¬ν•˜λŠ” 것이닀.

μˆœνšŒνŒλ§€μ› λ¬Έμ œμ— μžˆμ–΄μ„œ 두 번째 μ€‘μš”ν•œ μš”μ†ŒλŠ” μ—λ„ˆμ§€ 식이닀. μ—λ„ˆμ§€ ν•¨μˆ˜λŠ” λ‹€μŒμ˜ λ¬Έμ œλ“€μ„ μ§€ν‚€λ©΄μ„œ λ§Œλ“€μ–΄μ Έμ•Ό ν•œλ‹€.

β‘  각 λ„μ‹œλ₯Ό κΌ­ ν•œλ²ˆμ”©λ§Œ λ°©λ¬Έν•΄μ•Ό ν•œλ‹€.

β‘‘ λ™μ‹œμ— 두 λ„μ‹œλ₯Ό λ°©λ¬Έν•  수 μ—†λ‹€.

β‘’ μ •ν•΄μ§„ λ„μ‹œλ“€λ§Œ (예λ₯Ό λ“€λ©΄ n 개) λ°©λ¬Έν•΄μ•Ό ν•œλ‹€.

β‘£ 순회거리의 총합이 μ΅œμ†Œκ°€ λ˜μ–΄μ•Ό ν•œλ‹€.

μœ„μ˜ 4 κ°€μ§€ 쑰건듀을 λͺ¨λ‘ λ§Œμ‘±ν•˜λŠ” μ—λ„ˆμ§€ ν•¨μˆ˜λ₯Ό λ§Œλ“€κΈ°λŠ” 맀우 λ³΅μž‘ν•˜λ‹€. <κ·Έλ¦Ό 12> [DAY90] λŠ” μˆœνšŒνŒλ§€μ› 문제의 해닡을 보여 μ£ΌλŠ”λ° (a)μ—μ„œ (c) κΉŒμ§€λŠ” λ„€νŠΈμ›Œν¬ 처리의 쀑간 κ²°κ³Όλ₯Ό 보여주고 (d) λŠ” λ„€νŠΈμ›Œν¬μ˜ μ΅œμ’…μƒνƒœλ₯Ό λ‚˜νƒ€λ‚Έλ‹€. (e) 도 λ„€νŠΈμ›Œν¬ 처리의 쀑간 κ²°κ³Όλ₯Ό λ³΄μ—¬μ£ΌλŠ”λ°, μˆœνšŒνŒλ§€μ›μ΄ μˆœλ°©ν•  루트λ₯Ό 보여 μ€€λ‹€. (f) λŠ” μ΅œμ’…μ μΈ κ²°κ³Όλ₯Ό λ‚˜νƒ€λ‚΄λŠ”λ° μƒλ‹Ήνžˆ 쒋은 κ²°κ³Όλ₯Ό 보여 μ€€λ‹€.

μˆœνšŒνŒλ§€μ› 문제
<κ·Έλ¦Ό 12> μˆœνšŒνŒλ§€μ› 문제

ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬λŠ” 10 개 μ΄ν•˜μ˜ λ„μ‹œλ₯Ό λŒ€μƒμœΌλ‘œ ν•΄μ•Ό ν•˜κ³ , κ·Έ 이상일 κ²½μš°μ— ꡭ뢀적인 μ΅œμ κ°’μ„ μ–»κ²Œ λ˜λŠ” λ¬Έμ œμ μ„ λ‚΄ν¬ν•˜κ³  μžˆλ‹€.

7. μž₯점과 μ œν•œμ 

연상 κΈ°μ–΅μž₯치둜 μ“°μ΄κ±°λ‚˜ μ΅œμ ν™” 문제 해결에 μžˆμ–΄μ„œμ˜ μ‘μš© λ¬Έμ œλ“€μ€ λ„€νŠΈμ›Œν¬κ°€ μ΅œμ†Œμ˜ μ—λ„ˆμ§€λ₯Ό κ°€μ§€κ²Œ λ˜λŠ” μ•ˆμ •λœ μƒνƒœμΌ λ•Œ ν•΄κ²°λœλ‹€. μ΄λŸ¬ν•œ μ ‘κ·Ό 방법은 이 λͺ¨λΈμ΄ 처음 μ œμ•ˆλ˜μ—ˆμ„ λ‹Ήμ‹œμ—λŠ” 맀우 파격적인 κ²ƒμœΌλ‘œ μ—¬κ²¨μ‘Œλ‹€.

ν™‰ν•„λ“œλŠ” λ„€νŠΈμ›Œν¬μ˜ μ‘μš© 뢄야에 μžˆμ–΄μ„œλŠ” λΆˆν–‰ν•˜κ²Œλ„ λ„€νŠΈμ›Œν¬μ˜ μ„±λŠ₯이 많이 μ œν•œλ˜μ–΄ μžˆλ‹€. 연상기얡은 μ œν•œλœ μš©λŸ‰κ³Ό μ œν•œλœ 연상 λŠ₯λ ₯을 보여 μ£Όκ³  μžˆλ‹€. μ™ΈνŒμ› 문제의 μ΅œμ ν™” λ¬Έμ œλ„ λͺ‡ 개의 μ œν•œλœ 해닡을 μ œμ‹œν•˜κ³  있으며 10 개 이상 λ„μ‹œμ˜ 경우 잘 μž‘λ™ν•˜μ§€ μ•ŠλŠ”λ‹€. κ·ΈλŸΌμ—λ„ λΆˆκ΅¬ν•˜κ³  ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬λŠ” 신경망에 μ˜ν•΄ ν•΄κ²° κ°€λŠ₯ν•œ λ¬Έμ œλ“€μ— 맀우 밝은 희망을 μ£Όκ³  μžˆλ‹€. κ·ΈλŸ¬λ‚˜ μ‹€μ„Έκ³„μ˜ λ¬Έμ œλ“€μ„ λ‹€λ£¨λŠ” λ°λŠ” 보닀 μ„±λŠ₯이 μ›”λ“±ν•œ λ„€νŠΈμ›Œν¬κ°€ ν•„μš”ν•˜λ‹€.

ν™‰ν•„λ“œλŠ” ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬λ₯Ό μ‹ ν˜Έ λΆ„ν•΄ (Signal decomposition) 와 μ„ ν˜• ν”„λ‘œκ·Έλž˜λ° (Linear Programming) κ³Ό 같은 μ΅œμ ν™” 문제λ₯Ό ν‘ΈλŠ”λ° μ‚¬μš©ν•˜μ˜€λ‹€. μž‘μ—… μŠ€μΌ€μ₯΄λ§ (Job scheduling) μ΅œμ ν™” λ¬Έμ œλŠ” ν™‰ν•„λ“œ λͺ¨λΈκ³Ό μœ μ‚¬ν•œ ν‘Έμš° (Foo) 와 λ‹€μΌ€μš°μΉ˜ (Takefuji) λͺ¨λΈ [FOO88] 에 μ˜ν•΄ μ œν•œμ μΈ μ˜μ—­μ—μ„œ ν•΄κ²°λ˜μ—ˆμ§€λ§Œ 일반적인 해결책은 μ•„λ‹ˆλ‹€. ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬μ˜ 광학적 κ΅¬ν˜„μ€ 파랏 (Farhat) 등에 κ΅¬ν˜„λ˜μ—ˆλ‹€ [FAR85].

ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬μ˜ 비동기적인 연결강도 λ³€ν™”λŠ” 맀우 λ…νŠΉν•œ μ„±μ§ˆμ΄λ©°, 신경세포가 비동기적인 갱신을 함에 λΉ„μΆ”μ–΄μ„œ 생물학적인 μ‹œμŠ€ν…œ 연ꡬ에 맀우 λ°€μ ‘ν•œ 관련이 μžˆλ‹€. ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬μ™€ κ·Έ μœ ν˜•μ˜ λ„€νŠΈμ›Œν¬λ“€μ€ μŒμ„±μ²˜λ¦¬, λ°μ΄ν„°λ² μ΄μŠ€ 검색, μ˜μƒμ²˜λ¦¬ 그리고 νŒ¨ν„΄λΆ„λ₯˜ 등에도 μ‘μš©λ  수 μžˆλ‹€.

ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬λ₯Ό μ΄μš©ν•˜μ—¬ μ΅œμ ν™” 문제λ₯Ό ν•΄κ²°ν•˜λ € ν•  λ•Œ 문제점 μ€‘μ˜ ν•˜λ‚˜λŠ” μ΅œμ κ°’μ— λŒ€ν•œ 보μž₯이닀. μš°λ¦¬λŠ” λ„€νŠΈμ›Œν¬κ°€ μ•ˆμ •λœ μƒνƒœμ—μ„œ μ–»λŠ” 값이 근사값이 μ•„λ‹ˆλΌ μ΅œμ κ°’μΈμ§€λ₯Ό ꡬ뢄할 수 μ—†λ‹€. ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬μ˜ κ°€μž₯ 일반적인 μž₯점은 κ·Έκ²ƒμ˜ 근본적인 λ³‘λ ¬μ²˜λ¦¬ ꡬ쑰에 μžˆλ‹€. κ·ΈλŸ¬λ―€λ‘œ ν•˜λ“œμ›¨μ–΄ μˆ˜ν–‰μ΄ 맀우 λΉ λ₯Ό κ²ƒμ΄λ‚˜ λ„€νŠΈμ›Œν¬μ˜ ν¬κΈ°λ‚˜ 속도 및 μ‘μš© 뢄야에 따라 달라진닀.

8. κ²°μ–΄

이 μž₯μ—μ„œλŠ” 1982 λ…„ ν™‰ν•„λ“œμ— μ˜ν•΄ μ œμ•ˆλœ μƒν˜Έκ²°ν•©ν˜• 신경망 λͺ¨λΈμΈ ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬λ₯Ό μ‚΄νŽ΄ λ³΄μ•˜λ‹€. ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬λŠ” μ—°μƒκΈ°μ–΅μ΄λ‚˜ μ΅œμ ν™” 문제 λ“±μ˜ 해결에 μ ν•©ν•œ λͺ¨λΈμ΄λ‹€.

1 μ ˆμ—μ„œλŠ” ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬μ˜ 생성 배경을 λΉ„λ‘―ν•œ 일반적인 κΈ°μˆ μ„ ν•˜μ˜€μœΌλ©°, 2 μ ˆμ—μ„œλŠ” ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬μ˜ 두가지 μ€‘μš”ν•œ μ œν•œμ μ„ μ‚΄νŽ΄λ³΄κ³ , μ™„μ „μ—°κ²°λœ λ„€νŠΈμ›Œν¬μ˜ ꡬ쑰λ₯Ό κ³ μ°°ν•˜μ˜€λ‹€.

3 μ ˆμ—μ„œλŠ” 연상 κΈ°μ–΅μž₯μΉ˜μ™€ κ΄€λ ¨λœ μ„€λͺ…κ³Ό λ”λΆˆμ–΄ μˆ«μžμ— λŒ€ν•œ μ‹€ν—˜κ³Ό 광학적인 μ‹€ν—˜μ„ μ‚΄νŽ΄ λ³΄μ•˜κ³ , μˆ˜μ‹μ„ ν†΅ν•˜μ—¬ ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬μ˜ λ™μž‘ 원리λ₯Ό μ„€λͺ…ν•˜μ˜€μœΌλ©°, 연상 κΈ°μ–΅μž₯μΉ˜λ‘œμ„œμ˜ ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬μ˜ 두가지 μ€‘μš”ν•œ ν•œκ³„μ μ„ μ„€λͺ…ν•˜μ˜€λ‹€.

4 μ ˆμ—μ„œλŠ” ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬μ˜ λ™μž‘ μ•Œκ³ λ¦¬μ¦˜μ„ μ„œμˆ ν•˜μ˜€κ³ , 5 μ ˆμ—μ„œλŠ” ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬μ˜ λ™μž‘μ„ ν™•μΈν•˜κΈ° μœ„ν•΄ λͺ‡ 개의 μˆ«μžμ— λŒ€ν•œ 연상기얡 λŠ₯λ ₯을 μ‹€ν—˜ν•˜μ˜€μœΌλ©°, κ·Έ 결과에 λŒ€ν•΄ κ°„λž΅νžˆ λΆ„μ„ν•˜μ˜€λ‹€.

6 μ ˆμ—μ„œλŠ” μ΅œμ ν™” 문제의 ν•œκ°€μ§€ 예인 'μˆœνšŒνŒλ§€μ› 문제' λ₯Ό ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬λ₯Ό μ΄μš©ν•˜μ—¬ ν‘ΈλŠ” 과정을 μ‚΄νŽ΄ λ³΄μ•˜μœΌλ©°, 7 μ ˆμ—μ„œλŠ” ν™‰ν•„λ“œ λ„€νŠΈμ›Œν¬μ˜ μž₯점과 μ œν•œμ λ“€μ„ κΈ°μˆ ν•˜μ˜€λ‹€.