일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 머신러닝
- tensorflow
- model free
- Richard Socher
- kbpf
- cost function
- Gradient descent
- 애쉬브라운
- 딥뉴럴넷
- 파이썬
- CS224N
- 자연어처리
- 폴댄스
- Linear Regression
- MB
- NLP
- 양성평등
- ai
- 다이내믹 프로그래밍
- 페미니즘
- 독서
- 취미
- 리처드소처
- 인공지능
- 파이썬과 케라스로 배우는 강화학습
- 강화학습
- 딥러닝
- 벨만 방정식
- 행복
- MDP
- Today
- Total
목록머신러닝 (17)
Ordinary day

논문 출처 https://arxiv.org/abs/1905.01969 Poly-encoders: Transformer Architectures and Pre-training Strategies for Fast and Accurate Multi-sentence Scoring The use of deep pre-trained bidirectional transformers has led to remarkable progress in a number of applications (Devlin et al., 2018). For tasks that make pairwise comparisons between sequences, matching a given input with a corresponding labe..
(파이썬과 케라스로 배우는 강화학습을 읽고 요약정리 한 것입니다.) 1. 케라스현재 가장 널리 쓰이는 딥러닝 프레임워크는 텐서플로우이다. 케라스는 텐서플로우를 감싸는 또 다른 프레임워크이다.앞에서 input, hidden, output 의 레이어를 정의했었는데 케라스의 소스로 표현한다면 아래와 같이 나타낼 수 있다. model.add(Dense(30, input_dim=15, activation='relu'))model.add(Dense(30, activation='relu'))model.add(Dense(1, activation='linear')) 모델(Sequential model)은 add() 함수로 레이어를 연결할 수 있다.Dense() 의 첫번째 파라미터는 노드 수를 의미한다.input_dim ..
(파이썬과 케라스로 배우는 강화학습을 읽고 요약정리 한 것입니다.) 1. 근사함수 Function Approximation앞에서 봤던 문제들은 간단한 문제였지만 대부분은 상태가 다양하고 환경이 변한다.그럼 이런 경우엔 에이전트는 강화학습을 통해 어떻게 학습할까? 이전에 봤던 다이내믹 프로그래밍은계산 복잡도: 상태 공간의 크기가 커지는 경우차원의 저주: 상태의 차원이 늘어나는 경우환경에 대한 완벽한 정보 필요: 보상, 상태변환확률(모델)을 정확히 알아야 함이런 한계가 존재했었고, 몬테카를로, 살사, 큐러닝으로 3번의 문제를 해결할 수 있었다.(몬테카를로, 살사, 큐러닝은 model-free로, 샘플링을 통해 학습)그렇다면 1과 2는 어떻게 해결해야 할까? 기존의 강화학습 알고리즘에서는 각 상태에 대한 정보..
(파이썬과 케라스로 배우는 강화학습을 읽고 요약정리 한 것입니다.) 1. 시간차 예측 Temporal Difference Prediction이전에 살펴본 몬테카를로 예측의 단점은 실시간이 아니라는 점이다. 몬테카를로는 하나의 에피소드가 끝날 때까지 기다려야하며, 에피소드의 끝이 없거나 길이가 길다면 이 방법은 적합하지 않다.이를 해결할 수 있는 방법이 시간차 예측 TD Prediction 이다. 시간차 예측은 타임스텝마다 가치함수를 업데이트하는 방법이다.시간차 예측에서 매 타임스텝마다 에이전트는 현재의 상태 S에서 행동을 하나 선택하고 보상 R을 받고 다음 상태 S'를 알게 된다.그렇다면 에이전트는 현재 가지고 있는 가치함수 리스트에서 다음 상태에 해당하는 가치함수 V(S')를 가져올 수 있고, 바로 R..
(파이썬과 케라스로 배우는 강화학습을 읽고 요약정리 한 것입니다.) 1. 가치 이터레이션 Value Iteration이전에 Policy Iteration 에서는 벨만 기대 방정식을 이용했다. 정책과 가치함수가 명확히 분리돼 있었기 때문에. 확률적인 정책을 고려하여 가치함수를 계산하려면 기댓값을 사용할 수 밖에 없고, 그래서 벨만 기대 방정식을 사용했다. 만약 policy를 현재 가치함수가 최적이라고 가정하고 이에 대해 결정적인 형태의 정책을 적용한다면 어떨까? 결과적으로 이 과정은 문제될 것이 없다. (다이내믹 프로그래밍을 이용할 것이므로) 결국 무수히 반복하게 되면 최적의 가치함수에 도달할 것이다. 이렇게 접근하여 계산을 하는 것이 가치 이터레이션 Value Iteration 이다. 가치 이터레이션의 ..
(파이썬과 케라스로 배우는 강화학습을 읽고 요약정리 한 것입니다.)1. 다이내믹 프로그래밍 Dynamic Programing다이내믹 프로그래밍은 작은 문제가 큰 문제 안에 중첩돼 있는 경우에 작은 문제의 답을 다른 작은 문제에서 이용함으로써 효율적으로 계산하는 방법.리처드 벨만이 처음 제시했으며, 최적화에 관련된 방정식이다.기본적인 아이디어는 큰 문제 안에 작은 문제들이 중첩된 경우에 전체 큰 문제를 작은 문제로 쪼개서 풀겠다는 것.작은 문제의 답들을 서로서로 이용할 수 있어 계산량을 줄일 수 있다. 2. 정책 이터레이션 Policy IterationPolicy Iteration은 다이내믹 프로그래밍의 한 종류로, 벨만 기대 방정식을 사용해 MDP 문제를 푸는 것.MDP 문제에서 결국 우리가 알고 싶은 ..
(파이썬과 케라스로 배우는 강화학습을 읽고 요약정리 한 것입니다.)1. 강화학습 개요강화학습은 행동심리학과 머신러닝에 뿌리를 둔 학문이며, 문제에 대한 정의가 필수적.'강화'의 핵심은 보상을 얻게 해주는 행동의 빈도 증가이며, 이 때 에이전트는 이해는 못하더라도 행동과 행동의 결과를 보상을 통해 연결할 수 있다. 강화학습을 정의하려면 머신러닝 개념을 추가로 알아야 하는데, '머신러닝'은 인공지능의 한 범주로 컴퓨터가 스스로 학습하게 하는 알고리즘을 개발하는 분야 라고 설명할 수 있다. 즉, 주어진 데이터를 토대로 스스로 성능을 높여나가는 것이다.이런 머신러닝에는 지도학습, 비지도학습, 강화학습 으로 크게 3가지로 나눌 수 있다.지도학습(Supervised Learning): 정답을 알고 있는 데이터를 이..
강화학습(Reinforcement Learning)기계학습이 다루는 문제 의 하나로, 어떤 환경 안에서 정의된 에이전트(액터)가 현재의 상태를 인식하여, 선택 가능한 행동들 중 보상을 최대화하는 행동 혹은 행동 순서를 선택하는 방법 이라고 위키에서 정의를 했는데..쉽게 말하면 경험을 통해 배우고, 보상 혹은 벌(?) 무튼 일종의 피드백을 줌으로써 훈련시키는 데에서 기본 아이디어를 얻어 만든 알고리즘이다.강화학습 알고리즘은 게임, 로보틱스, E-커머스, 주식시장 등 여러 분야에서 활용할 수 있는 알고리즘으로 사실 굉장히 오래 전(1970년대)에 등장한 알고리즘인데 그 당시에는(몇 년 전까지만 하더라도) 크게 주목받지 못했다.그러다가 최근 딥마인드에서 관련 연구가 진행되고, 알파고에 이 강화학습 알고리즘이 ..
1. Classification 예) 이메일 - 스팸분류, 온라인상거래 - 상품평의 긍/부정 분류, 종양 - 악성 분류 y∈{0,1} : binary class (0이면 부정, 1이면 긍정)y∈{0,1,2,3} : multi-class 임계값이 0.5인 것을 알고 있을 때, linear regression으로 분류하게 된다면 위의 그래프와 같을 것이다. 그러나 데이터가 추가될 경우, 더 좋지 않은 그래프가 그려질 수 있다. 따라서 classification의 문제에서는 linear regression 방법은 좋지 않다. 2. Hypothesis Representation linear regression을 사용했을 때 hθ(x)=θTx 였는데, logistic regression으로 사용하기 위해 식을 약..
gradient descent를 사용하여 cost function 값을 최소화 해보자 gradient descent를 사용해서 가중치w 값을 업데이트 할 수 있다. w := w + ∆w 여기서 w의 변화량(∆w)은 (-) 기울기 값에 learning rate η을 곱한 값으로 정의된다. ∆w = −η∆J(w) cost function의 기울기를 계산하려면 각각의 w와 관련하여 cost function의 편미분을 계산해야한다. 그리고 w 업데이트 값 wj을 아래와 같은 수식으로 나타낼 수 있다. 모든 w를 동시에 업데이트하기 때문에 Adaline learning rule은 다음과 같다. w := w + ∆w 파이썬으로 Adaptive Linear Neuron 구현하기 퍼셉트론과 Adaline은 매우 유사하..