티스토리 뷰
2021. 9. 29. 21:37
안녕하세요
프로그래밍을 배우는 빛나는 샤트입니다.
SLAM 강의 11번째. Random Process
*이 포스팅은 목원대학교 양정연 교수님의 SLAM강의 유튜브 영상을 보고 제작되었음을 밝힙니다.
출처: 11강. Random Process
11강. Random Process
🎉강의요약
1. 확률을 대할 때의 사고 방식의 변환이 필요를 강조
2. 이전에 학습한 Gradient Descent Method에서 Stochastic를 적용하는 개념 강조
3. 골짜기에서 Global minimum을 구할 때 지진(랜덤 노이즈)을 적용해 Global minimum을 찾는 방법
<Random Process>
확률을 어떻게 사용해야 하는 지 학습
2005년 경부터 로봇에 확률 개념이 적용되기 시작됨.
<Why Probabilistic Approach is Different?>
생각하는 방식을 전환이 필요.
확률과 강화학습은 특히 생각하는 방식을 많이 전환해야 한다. (Stochastic한 방법)
<Iterative Method often OSCILLATE!>
Sinx + 0.5sqrt(x) 그래프를 그렸을 때를 보면 sqrt(x)는 x가 커짐에 따라 커져가고 그 형상에 Sinx 파동 모양이 그려지는 형태이다.
Gradient Descent Method를 이용해서 최솟값을 구하려고 할 때 위 그래프의 접점과 접선처럼 갇혀서 두 구간을 빠져나올 수 없을지도 모른다. 그래서 진동이 발생하게 된다.
<Differentitaion-based Method is Too fast to Find a Solution>
알파값이 커지면 불안정, 작으면 안정(하지만 시간이 걸림)
좌측은 알파값이 큰 경우, 우측은 알파값이 작은 경우
<How to Avoid Oscillation and how to find global minimum?>
Global minimum을 찾는 방법: 반복
> 하지만 답을 모르는 경우에는 반복을 해야 하는데 구한 값이 Global minimum인지 확신할 수 없다.
> Trial and error을 통해 Global minimum을 찾을 수 있는지 없는지 확신할 수 없다.
> Global minimum을 찾는 것이 최종 목표가 아닌 minimum을 얻어 내는 방법이 중요. Stochastic한 방법에 포함되어 있음.
<Random Guess can solve it?>
Random Guess는 오랜 시간이 걸린다. 최적화하는 방법을 사용할 때 좌우로 흔들게 되면 어떻게 될까?
빨간 공이 좌측 상단에서 출발하고 중간에 한 번 걸리게 되는데 지진이 일어나서 흔들리게 되면 우측 사진과 같이 웅덩이에 빠지게 된다.
> 랜덤 노이즈를 추가해주면 조금 더 해를 수월하게 구할 수도 있다. 아닐 수도 있다. 하나의 방법으로 이해하면 된다.
<Differentitaion>
주의) 미분에 노이즈를 섞으면 안 된다. 기울기의 작은 변화에 따라 끝단은 매우 크게 변하기 때문.
> 해를 구하는데 정제된 방법을 사용해서 잘 구해지면 좋을텐데 살짝 흔들어줘서(랜덤 노이즈 추가) 또 다른 minimum을 구할 수 있다. 그러니 미분을 사용하지 않고 이러한 스타일의 최적화 기법을 만들면 어떨까?
<On behalf of Differentitaion, Stochastic Searching is Stable in Every time>
Genetic algorithm: 생명공학적인 관점으로 설명. 우월한 유전자를 가진 개체만이 자손을 만들어내고 열등한 유전자를 가진 개체들은 도태된다. 이러한 과정을 거치다 보면 먼 훗날의 자손 중 하나가 최고인가?(Global minimum?)라는 질문에는 '아니다'. 이러한 방식을 볼 때는 크게 볼 때는 좋은 방향으로 전개가 되는 것은 맞지만 꼭 좋은 방향으로만 진행되지 않을 수도 있다는 점과 돌연변이가 생겨서 더 좋은 쪽 또는 더 안 좋은 쪽으로 진행될 수 있다는 개념.
위 수식을 보면,
X=[x1,x2,..]은 입력 인자(다양한 유전인자를 가지고 있는 개체)
F = F(X)는 유전 등급을 판별해주는 함수
Good = sort(F)는 유전 등급에 따라 정렬 (별로 안 좋은 개체는 도태)
- Crossover: 교배
- Mutation: 엉뚱한 개체를 투입(랜덤 개체)
Crossover 90%, Mutation 10% 비율이 가장 이상적
<Genetic Algorithm>
미분을 사용하지 않고 최적화하는 코드
피드백은 언제나 환영합니다.😊
틀린 부분 있다면 지적해주시고 도움이 되었다면 댓글과 공감 눌러주세요.
'SLAM' 카테고리의 다른 글
- Total
- Today
- Yesterday
- 도전
- 자율주행기술
- 실내자율주행
- 인공지능 교육
- Slam
- 자율주행로봇
- 멘탈관리
- 모두의연구소
- Python
- 아이펠
- 인공지능교육
- 광주AI
- 배달로봇
- 모두의 연구소
- 서빙로봇
- 광주인공지능사관학교
- AIFFEL후기
- 광주
- 해커톤
- 양정연SLAM
- 인공지능
- SLAM강의
- 대전 인공지능
- ros
- 멋쟁이사자처럼
- AIFFEL인공지능과정
- IT
- AIFFEL교육
- AIFFEL
- SLAM공부
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |