일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 스위치
- Router
- 펌웨어
- GPIO
- TensorFlow
- Transport layer
- 리눅스
- file descriptors
- 딥러닝
- function call
- Switch
- 인터럽트
- LED 제어
- demultiplexing
- Generalized forward
- 모두를 위한 딥러닝]
- LED
- 밑바닥부터 시작하는 딥러닝
- Network layer
- 운영체제
- 모두를 위한 딥러닝
- 3분 딥러닝
- 신경망 첫걸음
- 디바이스 드라이버
- 텐서플로우
- Class Activation Map
- Interrupt
- RDT
- 신경망
- Linux
- Today
- Total
목록전체보기 (65)
건조젤리의 저장소
김성훈 교수님의 강의내용을 정리한 내용입니다. 출처 : http://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io 이전 시간에 배운 Dummy Q-learning은 학습한 경로가 고정되어 효율적이지 못한 단점이 있다. * Exploit: 현재 값을 이용 * Exploration: 새로운 시도 Exploit과 Exploration을 적절하게 사용하면 최적의 값을 찾을 수 있을까? E-greedy 방법을 사용하자! 랜덤한 값을 뽑았을 때 e보다 작은 경우: 랜덤한 값(Exploration) 그 외: 기존에 알고있는 최대값(Exploit) 학습이 진행될수록 랜덤값의 영향력을 줄이기 위해, e값을 점차적으로 줄여간다. 또다른 Exploit VS Explor..
김성훈 교수님의 강의내용을 정리한 내용입니다. 출처 : http://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io Q-learning 알고리즘의 구현 * 0으로 채워진 Q 배열을 선언한다. 이때 env.observation_space.n = 16, env.action_space.n = 4 이므로 이를 이용한다. * rargmax(): 값이 모두 동일하다면 랜덤하게 하나를 선택한다. * Q 업데이트 코드 확인. rargmax의 구현 코드 확인! 보상값(0 or 1)을 저장하는 rList를 추가하였다. H (구덩이) 에 빠질경우는 0, G (목표지점) 에 도착할 경우는 1이다. 95%의 성공 확률을 보인다. 앞부분은 거의 0이지만 약 100회 반복부터는..
김성훈 교수님의 강의내용을 정리한 내용입니다. 출처 : http://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io Agent가 a 방향으로 이동하게 되면 현재 상태가 바뀌게 된다. (S1, S2) 그리고 이 행동에 대한 보상을 받게되는데 목표지점에 갔을 경우에만 1점을 얻게된다. (그 외: 0점) 하나의 행동이 아닌 전체적인 결과로 보상을 받기 때문에 Agent가 목표를 찾아가기 어려울 수 있다. Agent의 움직임을 결정할 때 랜덤하게 결정하는 방법보다 더 나은 방법은 무엇일까? 진행 방향을 선택했을 경우 얻을 수 있는 점수를 알려주는 함수가 있으면? Q에게 상태와 행동을 입력으로 주게되면 받을 수 있는 보상을 알려준다. 위의 경우, RIGHT방향..
김성훈 교수님의 강의내용을 정리한 내용입니다. 출처 : http://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io 파이썬에서 키 입력을 받아오기 위해 _Getch() 클래스를 만들고, Gym에서 사용하는 매크로를 설정한다. 그리고 각각의 매크로와 키를 연결해주자. * 높은 버전에서는 문제가 생긴다고 한다! -> 맨 밑의 코드를 참고하자 액션값을 넣어준 다음 .render()를 통해 확인하자. 실행을 하게 되면 위와 같이 실행이 가능하다. 액션값을 넣어주게 되면 4개의 출력값을 얻을 수 있게 된다. 기존 코드는 문제가 발생하므로 이 코드를 사용하세요! 구현 코드 (환경: ubuntu:16.04 python 3.6) 1 2 3 4 5 6 7 8 9 10..
김성훈 교수님의 강의내용을 정리한 내용입니다. 출처 : http://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io 강화학습을 사용하여 Frozen Lake 게임을 학습해 보자. S: 시작 지점 / F: 안전한 구역 / H: 위험한 구역(구덩이) / G: 목표 지점 Agent는 S에서 시작하여 G로 가는 길을 찾아야 한다. Agent는 상하좌우로 움직이게 되고 환경에서 현재 상태와 보상을 받게된다. 만약 오른쪽으로 한칸 움직였을 경우 상태는 1, 보상은 0 이 된다. 이 방법을 일반화 하게되면 모든 게임에 적용이 가능하다. Agent가 행동을 취한다. -> 현재 상태와 보상을 받는다. 이를 구현하기 위해 OpenAI에서 제공하는 Gym이라는 라이브러리..
김성훈 교수님의 강의내용을 정리한 내용입니다. 출처 : http://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io 강아지를 훈련시킬 때 보상을 기반으로 한 방법이 효율적이다. 강화학습은 이러한 방법을 사용한다. 우리들이 긍정적인 칭찬과 부정적인 비평에서 배움을 얻듯이 강화학습은 이러한 상호작용으로 학습한다. Actor는 Enviroment을 관찰하며 행동을 취하고 보상을 받는다. 강화학습은 위와같은 다양한 분야에서 이용이 가능하다.
김성훈 교수님의 강의내용을 정리한 내용입니다. 출처 : http://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io 시간에 따라 변하는 데이터를 Time series data라고 한다. 시간에 따른 주가 데이터를 가지고 있는 데이터 셋을 이용하여 주가 예측을 수행해보자. Many to one 구조를 사용할 것이다. 일주일 간의 데이터를 넣고 그 다음날의 주가를 예측하는 구조이다. Input길이는 5, seqence길이는 7, Output길이는 1임을 알 수 있다. 전체 데이터의 값의 분포가 들쑥날쑥하게 되어 있으므로 MinMaxScaler를 이용하여 조정해준다. Y의 값은 Close값만 이용할 것이다. 데이터 중 70%를 학습에 사용할 것이다. 우리는..
김성훈 교수님의 강의내용을 정리한 내용입니다. 출처 : http://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io 고정 길이의 데이터가 아닌 가변 길이의 데이터를 넣기 위한 기존 방법은 빈 자리에 Pad라는 특별한 기호를 사용하여 신경망이 이 부분은 없는 것으로 스스로 판단하길 유도하였다. 하지만 이 자리에도 가중치값이 존재하기 때문에 Loss 함수를 최적화 하기 어렵게 만들었다. 이를 해결하기 위해 Tensorflow는 각각 배치에 sequence길이를 입력하게 하여 출력값도 이와 동일한 길이를 출력하게 하였다. (나머지 부분은 0으로 만든다) sequence길이에 따라 출력되는 결과를 살펴보면, 설정한 길이 외의 결과값은 모두 0이 된 것을 볼 ..