본문 바로가기
[ViTs] Going deep with Image Transformers (1/4) Vision Transformer에 익숙하지 않으신 분들은 다음 tutorial을 공부하는것을 추천드립니다. Image classification with Vision Transformer. 간단하게 말씀드리면 영상(이미지)를 다루는데 기존의 convolution layer구조 가 아닌, Transfomer architecture with self-attention을 Image patches의 sequence에 적용했다고 보시면 됩니다. (Encoder, Decoder), (key, query, value), (multi-head, masked-head)등등의 복잡한 이름의 개념들이 있지만, image patches(content information) + Sequence (position informa.. 2022. 10. 27.
[Attention] Evolution of Attention - Version.2 https://pyimagesearch.com/2022/09/05/a-deep-dive-into-transformers-with-tensorflow-and-keras-part-1/ Version 1과의 차이 딱봐도 softmax -> scaled softmax 밖에 없쥬? 이젠 고수가 된걸지도 모르겠어요 그래도 천천히 설명따라 가봅시다. Version 2에서는 Similarity Function을 계산하기 위해 "Normal Dot Product"를 사용하는 대신에 "Scaled Dot Product"를 사용합니다. 2022. 9. 14.
[Attention] Evolution of Attention - Version_0,1 https://pyimagesearch.com/2022/09/05/a-deep-dive-into-transformers-with-tensorflow-and-keras-part-1/ Attention의 역사를 따라가는 것은 겁나 어렵습니다. 하지만 7개로 나눠 놓은 Version steps를 따라가다 보면 알기 쉽겠다고 자랑을 했네요 1. Version 0 Attention을 직관적으로 이해하기 위해, input과 query로 시작하겠습니다. 그런 다음 query에 기반을둔 input부분을 보겠습니다. 예시 풍경사진을 보면서 그곳의 날씨를 알려달라고 하면, 먼저 풍경사진의 하늘 부분을 볼 것 이겠죠? 이때 input은 풍경사진이고, query는 날씨는 어떻습니까?입니다. Input : 풍경사진 Query .. 2022. 9. 13.
[Attention] Intro + Transformer Architecture RNN 구조의 모델을 사용할때 Encoder와 Decoder를 활용하는 경우가 있습니다. 또한 이의 성능을 높이기 위해 Attention module을 사용한다는 것을 소개 해드리며 시작하겠습니다. 사실 Attention개념까지 검색해서 들어왔다는 것은 대강 기본적인것들에 대해 알고계신다는 거 아니겠습니까? 쉽게쉽게 넘어가겠습니다. Top-Down 방식의 이해를 먼저 시도하겠습니다. MHA -> Multihead Attention MMHA -> Masked Multihead Attention FFN -> Feed Forward Network 왼쪽 부분이 Encoder이구요, 오른쪽 부분이 Decoder입니다. 둘다 연산들의 집합인 module(Encoder - 파란색통, Decoder - 초록색통)이 N.. 2022. 9. 13.
[Attention] attention 뭐 들어도 모르겠는 제대로 공부좀 하자 https://pyimagesearch.com/2022/09/05/a-deep-dive-into-transformers-with-tensorflow-and-keras-part-1/ A Deep Dive into Transformers with TensorFlow and Keras: Part 1 - PyImageSearch A tutorial on the evolution of the attention module into the Transformer architecture. pyimagesearch.com 이 튜토리얼을 따라서 이해해 보도록 하겠습니다. 1. Intro 2. The Transfomer Architecture 3. Evolution of Attention - Version 0 - Versi.. 2022. 7. 5.
[Markov Chain] 그럼 마르코프 연쇄는 뭔데? ㅋㅋ 밑도 끝도 없지만 일단 가봅시다. Markov Chain은 이산시간 확률 과정이다. 마르코프 연쇄는 시간에 따른 계의 상태의 변화를 나타낸다. 매 시간마다 계는 상태를 바꾸거나 같은 상태를 유지한다. 상태의 변화를 전이라 한다. 마르코프 성질은 과거가 현재 상태가 주어 졌을 때의 미래상태의 조건부 확률 분포가 과거상태와는 독립적으로 현재 상태에 의해서만 결정된다는 것을 뜻한다 마르코프 성질 은 마르코프 확률 과정과 같은 말이고 strong Markov Property은 Markov property에서 현재가 멈춰있는 시간의 임의의 변수라고 정의되는것을 제외하고 2022. 7. 5.
[Markov Decision Process] MDP 가 도대체 뭐시냐 MDP는 의사 결정 과정을 모델링하는 수학적인 틀을 제공한다. 이때 의사결정의 결과는 의사결정자의 결정에도 좌우되지만, 어느 정도 임의적으로 주어진다. MDP는 동적 계획법과 강화 학습 등의 방법으로 푸는 넓은 범위의 최적화 문제풀이 방법이다. MDP는 이산시간 확률 제어 과정이다. 어떤 시점에, 마르코프 결정 과정은 어떤 상태 s에 존재한다. 의사결정자는 해당 상태 s에서 어떤 행동 a를 취할 수 있으며, 다음 시점에서 MDP는 확률적으로 새로운 상태 s으로 전이(transition)한다. 이때 의사 결정자는 상태 전이에 해당하는 보상 Ra(s,s)을 받는다. 기존의 상태 s에서 새로운 상태 s로 전이하는 확률은 의사결정자의 행동에 영향을 받는다. 즉, 전이.. 2022. 6. 2.
[강화학습] 완전 바닥 튜토리얼 https://www.gymlibrary.ml/content/environment_creation/ Environment Creation - Gym Documentation Previous API www.gymlibrary.ml 요거보고 따라 만들어 보겠습니다. 확실히 강화학습쪽으로 인력이 많이 필요하고, 가능성이 있어뵈나 뵙니다 ㅎㅎ 이렇게 사용하기 편하게 툴을 풀어주다니! git clone https://github.com/Farama-Foundation/gym-examples 입력 해주면~ gym_examples 폴더를 얻을 수 있습니다잇~ 그러면 envs 폴더안에 __init__.py와 grid_world.py 두개의 파이선 파일이 있는걸 확인 할수 있는데 __init__.py를 수정 하여 실제 .. 2022. 5. 24.
[강화학습] OPEN AI GYM issue gym에서 게임 드릅게 import 안되더니 API 페이지로 제대로 만드려고 그랬었나 봅니다. 모든 GYM 내용이 여기로 옮겨왔네요 https://www.gymlibrary.ml/ Gym Documentation Next API www.gymlibrary.ml 아무튼 편해졌으니까 다행입니다. 2022. 5. 24.
[강화학습 GYM] env.render() Space Invader 문제를 해결하려고 이것저것 해봤는데 아직 뚫어내지 못했당. 그래서 좀더 낮은 level의 문제를 해결하는지 확인해 보고자 Lunar Lander 게임으로 갈아탓다. 근데 이전의 시행착오 글에서와 같이 좀 쉬운게임은 코딩 환경설정부터 간단하다. if __name__ == '__main__': agent = PolicyGradientAgent(ALPHA=0.001, input_dims=[8], GAMMA=0.99, n_actions=4, layer1_size=128, layer2_size=128) # agent.load_checkpoint() env = gym.make('LunarLander-v2') score_history = [] score = 0 num_episodes = 50.. 2022. 5. 23.
[강화학습] CS 234 class 3 & class 4 https://www.youtube.com/watch?v=dRIhrn8cc9w&list=PLRQmQC3wIq9yxKVK1qc0r2nPuInn92LmK&index=3 https://www.youtube.com/watch?v=j080VBVGkfQ&list=PLRQmQC3wIq9yxKVK1qc0r2nPuInn92LmK&index=4 Model Free Evaluation - Policy Evaluation without knowing how the world works 학습목표 Dynamic programming [class 3] Monte Carlo policy Evaluation [class 3] Temporal Difference (TD) [class 3] ϵgreedy policy.. 2022. 5. 2.
[강화학습] CS234 class 2 https://www.youtube.com/watch?v=E3f2Camj0Is&list=PLRQmQC3wIq9yxKVK1qc0r2nPuInn92LmK&index=2 학습목표 1. MP, MRP, MDP Bellman operator, contraction operator, model, Q-value, Policy 정의 암기 2. Value Iteration, Policy Iteration 계산하기 3. 여러 가지 Policy Evaluation Approaches 들의 장단점 알기 4. Contraction Properties 증명할 줄 알기 5. MP, MRP, MDP and Markov assumptions의 한계 알기 - 어떤 policy evaluation methods가 Markov assump.. 2022. 4. 26.
[강화학습] CS234 class1 https://www.youtube.com/watch?v=FgzM3zpZ55o&list=PLRQmQC3wIq9yxKVK1qc0r2nPuInn92LmK&index=1 강화 학습 = Learn to make good sequences of decisions under uncertainty. 강화 학습은 5가지 category를 포함하고 있다. 1. Optimization - best outcome을 주는 optimal way를 찾는 것이 목표 2. Delayed Consequences - decision(action)에 의해 얻어지는 immediate benefit과 logner term benefit의 balance 3. Generalization 4. Learns from experience [Explo.. 2022. 4. 26.
[강화학습] Space-Invader 환경설정 후 학습하기 아주 간단한 tutorial을 소개해 드리고자 한다. 강화 학습은 Environment와 Agent의 Interaction을 통해 학습하는데 . py 코드가 자연스럽게 세 개가 된다 Environment.py Agent.py Interaction.py 이렇게 딱딱 나눌 수 있는 그런 건 아니라서 조금 부가 설명을 하자면 main.py -> environment 설정과 interaction을 실행시키는 코드 agent.py -> agent를 선언하고 취할 행동들을 선언 interaction의 주체 model.py -> interaction의 연산 부분 그리하여 역순으로 코드를 소개해드리겠습니다~! main.py입니다. 간단하게 DQN을 짜 놓은 모습~ import torch import torch.nn .. 2022. 4. 14.
[강화학습] OPEN AI GYM issue 강화 학습 공부를 위해 이런저런 실습 코드를 따라 치던 도중 import gym env = gym.make('~') 이러한 형태의 코드 자체가 실행이 안 되는 아주아주 답답한 상황에 이르렀다. 저 ~ 에 들어가는 부분은 게임의 이름들인데 1. classic control https://gym.openai.com/envs/#classic_control Gym: A toolkit for developing and comparing reinforcement learning algorithms Open source interface to reinforcement learning tasks. The gym library provides an easy-to-use suite of reinforcement learn.. 2022. 4. 11.
[RL] Q - Learning 2022. 3. 29.
[RL] Reinforcement Learning 구분 2022. 3. 29.
[Reinforcement Learning] 강화학습 기본 2022. 3. 29.
[파이썬 알고리즘] 백준 1463 풀이 _ 동적프로그래밍 처음에 보고 도무지 어떻게 풀어야 할지 모르겠다는 느낌이 들었습니다. 그런데 보 다보다 고민하다 보니 점화식이라는 것을 알게 됐습니다. 점! 화! 식! 계단 올라가는 거죠 10칸짜리 계단을 올라가는데 올라갈 수 있는 방법이 세 가지라고 하는 거랑 같은 문제죠 예를 들어 2칸 올라간다, 3칸 올라간다, 1칸 내려간다 이 세가지 행동들을 최소한으로 취하여 올라가는 방법을 찾는 거조 여기서 포인트는 최소한의 횟수입니다.! 그러면 우리는 2칸짜리 계단 올라가는 것, 3칸짜리 계단 올라가는 것 등등을 계산하여 4칸짜리 계단 올라가는 문제는 2칸짜리 계단에서 2칸 올라가는 연산 한 번만 추가로 하면 최소한의 횟수로 올라가는 것을 알 수 있죠! 여기까지는 예시이고요 우리 문제에 대한 정확한 설명과 함께 풀어보도록 하.. 2022. 3. 22.
[Color Channel] ARGB(RGBA) vs RGB Face Detector를 가볍게 뜯어보는데 잘 모르겠는 부분인 RGBA color model에 대해 부연설명하도록 하겠습니다. RGBA는 Red Green Blue Alpha의 첫 글자를 축약한 단어입니다. 기본적으로 RGB channel에 Alpha channel이 추가된 channel입니다. Alpha는 각각의 픽셀이 얼마나 투명한지(opaque)를 나타내는 부분입니다. 또한 alpha compositing을 이용하여 transparent areas(투명한 영역)와 anti-aliasing of the edges of opaque regions를 image와 combine 할 수 있게 해 줍니다. 그래서 뭐 어쨌다는 건지..? 2022. 3. 16.