반응형
Track1. 회로설계자동화를 위한 강화학습적용기 - 제조현장 강화학습 적용가이드 (민찬호 프로 (AI선행연구Lab))
1. 시작하기에 앞서 : 프로젝트 소개 + 강화학습이란?
- - 반도체 회로(PCB) 설계프로세스 자동화기술 : pin(start)과 ball(end)을 잇는 회로 설계
- - 반도체 라우팅 프로젝트의 특징 : 데이터 적음(전무가가 손으로 설계). 회로간의 교차가 없어야함(간섭 없어야함). pin(start)(시작점)과 ball(end)(끝점)은 고정되어 있음.
- unsupervized learning(강화학습) : 잘하면 상, 못하면 벌. 실제행동의 경험에서 배우고 직접생성. 일반적인 방법론으로 모든 문제에 적용가능한 것으로 보임. 성능이 떨어짐.
- Environment : 강화학습이 이루어지는 환경,
- Agent : 환경 안에서 행동하는 것,
- Action : Agent의 행동을 나타냄,
- State : Agent의 위치,
- Reward : Agent가 받는 보상, 각 상태마다 최적의 결과를 도출
2. 산업과 강화학습 : 왜 산업에 적용이 안될까?
특정 상태에서 최적의 행동을 학습하는 일반적인 방법론 - 실제 산업체에 적용 어려움
- Enviroment : state, Action을 이용하여 간단하고 명확하게 문제 표현 -> 환경 설정 자체가 어렵고 간략히 나타내는 건 더욱더,,
- Reward : 탐색과 선택을 도울 수 있도록 보상 설정, 학습 방향의 가이드. -> 현업 전문가가 필요.
- Feature Extraction : 현재 상태를 해석. neural network 이용.(state -> feature). 적절한 reward를 통해 현 상태에서 분석을 못하면 학습 불가능
- RL Algorithm : policy Gradient, Value Functionreward나 Enviroment가 확정된 후 평가 가능.
위 4가지 요소가 하나라도 충족이 안 되면 학습 불가능.
3. 강화학습 적용기 : 산업체에 적용하면서 느낀 노하우 공유
강화학습을 통해 데이터 생성. 각 회로의 벽으로 인식하는 미로. 보상을 정해주자.
- Enviroment: Multi-agent를 활용한 미로 찾기
- 지나간 길은 벽으로 인지. 각 위치마다 벽을 표시.
- CNN Architecture를 활용하여 Feature Extraction.
- Reward: 학습 방향 가이드를 위한 Reward 설정
- 1) 성공한 경우에만 Reward를 1로 주는 경우(인간의 지식을 배제) -> 가능한 회로를 무작위 탐색 -> 효율적이지 않음.
- 2) 종료될 때까지 이동할 때마다 reward를 -1 주는 경우 -> 빠르게 종료되도록 학습을 유도하지만 가능한 회로를 무작위 탐색(가이드 없음) -> 길을 막아줄 필요가 있음.
- 3) 매번 Agent와 도착점까지의 거리에 비례해서 Penalty -> 가이드 : penalty를 적게 받기 위해서 도착점으로 가려함. -> 학습이 수렴되진 않음.
- Feature Extraction: RL이 잘 학습되지 않는 이유
- 1) 경우의 수가 기하급수적으로 증가(바둑의 경우보다 많음.
- 2) 장애물의 모양이 다르지만 가는 경로가 비슷할 수 있음.
- 3) 장애물의 모양이 비슷하더라도 가는 경로가 다를 수 있음.
- 결론 : Reward가 정의되더라도 Feature Extraction이 필요
- CNN을 할 때 Customized Convolution kernal을 사용하여 벽의 위치를 인식 후 pooling Layer로 넓은 영역의 벽의 위치를 인식 후 Fractal Neural Network를 사용하여 하나로 쌓음. 5개의 Agent를 갖는 경우 성공
- RL Algorism(학습의 주축) : Rainbow DQN 활용
- 새로운 Enviroment 필요(Feature space 최소화) : 경우의 수 과다. 불필요한 정보 과다. 필터링할 데이터 구조 필요함.
4. 해결책과 결론 : 3번에서 느낀 것을 어떻게 해결했는지
- 위상수학 : 상대적인 위치만 고려하는 위상수학
- 회로를 위상수학으로 변형 -> 복잡한 길을 원위의 선분들로 변형(경우의 수 최소화, 간단한 데이터 형식으로 빠른 학습가능, 일반적인 라우팅 문제로 확장 가능.)
강화학습에 성공하려면
- 1) Environment, Reward, Feature Extraction, RL Algorithm 모두 필요
- 2) 네가지 요소를 설정하기 위해서는 개발자와 현업 전문가 간의 협업 필요
- 3) 개발자는 딥러닝에 대한 폭넓은 이해력과 구현력이 필요
- 4) 강화학습은 일반적인 딥러닝보다 더 많은 학습데이터 요구
- 5) 강화학습은 일반적인 supervised 러닝보다 성능이 떨어짐.
# 참고
https://www.youtube.com/embed/BMSB3pfzYog
반응형