일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스
- 머신 러닝
- PANDAS
- gan
- 스택
- OS
- db
- 회귀
- Stack
- instaloader
- programmers
- LSTM
- 데이터베이스
- 운영체제
- machine learning
- kmu
- Seq2Seq
- 재귀
- Heap
- googleapiclient
- 정렬
- 국민대
- 파이썬
- GIT
- C++
- Python
- 국민대학교
- SQL
- python3
- Regression
- Today
- Total
목록programmers (45)
정리 노트
이 포스트는 2015년 12월에 나온 Kerion O'shea and Ryan Nash의 'An Introduction to Convolutional Neural Networks'의 일부 내용과 국민대학교X프로그래머스 주관하는 '2022학년도 여름방학 인공지능 온라인 실전 부트캠프'에서 배운 내용을 섞어서 작성했습니다. 잘못된 해석과 개념 오류 지적 등 모든 것을 환영합니다. 1. Introduction Convolutional Neural Networks(CNNs)는 기존의 인공 신경망(ANN)과 유사합니다. 기존의 ANN과 다른 점은 CNN은 주로 이미지 패턴 인식에서 사용된다는 것입니다. 이를 통해 이미지들을 아키텍처로 인코딩을 할 수 있고 CNN이 이미지 작업에 특화될 수 있게 하는 것과 동시에 ..
Seq2Seq with Attention 디코더는 인코더의 모든 출력을 참고합니다. 인코더에서 나온 hidden state 값들을 모두 출력 값으로 별도의 배열 같은 곳에 기록합니다. 디코더에서 매번 hidden state를 갱신할 때 바로 이전의 hidden state값과 인코더의 hidden state값들과 각각 행렬 곱을 수행해서 'energy'라는 값을 생성합니다. 'energy'는 현재 어떤 단어를 출력하기 위해서 source 문장의 어느 단어에 집중해야 하는지 수치화해 표현한 값입니다. energy값에 softmax를 취해 확률 값을 구하고 가중치를 반영해서 가중치 값을 hidden state에 곱한 것을 각각의 비율의 맞게 더해준 weighted sum 벡터를 매번 반영합니다. Transfo..
https://school.programmers.co.kr/learn/courses/30/lessons/72412 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 정확성 테스트와 효율성 테스트가 있는 문제였습니다. 일단 문제를 읽고 처음에 생각난 대로 바로 코드를 작성했더니 정확성은 통과했지만 효율성에서 모두 실패했었습니다. 저의 시도 간단하게 생각했습니다. 각 query에 대해 지원자 정보를 하나씩 비교해보면서 조건에 맞는 지원자의 수를 세는 방법으로 작성했습니다. 작성한 코드는 아래와 같습니다. def solution(info: list, ..
Attention query와 비슷한 값을 가진 key를 찾아 value를 얻는 과정입니다. 여기서 key, value는 encoder의 각 time-step 별 출력(각 source language의 단어 또는 문장)을 의미하고 query는 현재 time-step의 decoder 출력(target language로 번역된 단어 또는 문장)을 의미합니다. 참고: https://hazel01.tistory.com/45 Attention 아키텍처 하나의 Attention은 전체 토큰에 대한 출력을 입력으로 받는 FC의 파라미터를 공유해 사용합니다. 전체 encoder의 출력 + 현재 decoder의 hidden이 decoder의 hidden으로 되고 이게 실제 Attention의 값입니다. import to..
https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 2022 테크 여름 인턴십 코딩 테스트에 나왔던 문제였습니다. 설레는 마음으로 풀었다가... 시간 초과의 벽에 부딪혀 결국 해설을 보았습니다. 해설 https://tech.kakao.com/2022/07/13/2022-coding-test-summer-internship/ 2022 테크 여름인턴십 코딩테스트 해설 2022년 카카오 여름 인턴십 코딩 테스트가 지난 5월 7일에 5시간에 ..
이미지 캡션 생성 이미지를 설명하는 문장을 생성하는 기술 분야로 대표적으로 NIC(Neural Image Caption) 모델을 사용합니다. NIC(Neural Image Caption) 간단히 얘기하면 CNN을 이용해 이미지 특징을 추출한 뒤 RNN을 거쳐 문장을 생성하는 것을 말합니다. 이미지 캡션 생성 문제를 이미지를 번역하는 문제라 볼 수 있습니다. 입력을 이미지(I), 출력을 목표 문장(S = {S1, S2, ..., Sn})이라 하면 가능도(likelihood) P(S | I)를 최대화하는 문제로 정의할 수 있습니다. 이미지 캡션 생성에서는 Encoder가 CNN Encoder를 사용해 CNN 절차를 거치게 만듭니다. 공식
언어 모델 문장(시퀀스)에 확률을 부여하는 모델로 특정 상황에서의 적절한 문장이나 단어를 예측할 수 있습니다. ex) P(난 널 사랑해 | I love you) > P(난 널 싫어해 | I love you) P(먹었다 | 나는 밥을) > P(싸웠다 | 나는 밥을) 하나의 문장(W)은 여러 단어들(w)로 구성된다. P(W) = P(w1, w2, w3, ..., wn) (n은 자연수) 그래서 이를 결합 확률로 표현할 수 있고 연쇄 법칙을 적용할 수 있습니다. 연쇄 법칙 P(w1, w2, w3, ..., wn) = P(w1) * P(w2 | w1) * P(w3 | w1, w2), ..., P(wn | w1, w2, ..., w(n-1)) (n은 자연수) ex) P(친구와 친하게 지낸다) = P(친구와, 친하게..
LSTM(Long Short-Term Memory) 아키텍처 RNN 아키텍처를 사용하면 토큰 사이의 거리가 먼 경우에 연속적인 정보가 잘 전달되지 않을 수 있습니다. LSTM은 RNN과 달리 두 개의 상태 정보를 저장하고 처리합니다. 두 상태 정보를 각각 장기 기억(Cell State), 단기 기억(Hidden State)이라 부릅니다. LSTM에서는 여러 게이트들이 있습니다. Forget Gate: 어떤 정보를 잊게 만들지 결정하는 레이어로 오래된 정보 중 필요 없는 정보는 잊게 됩니다. Input Gate: 새 정보를 장기 기억에 반영하는 역할로 새롭게 특정 정보를 기억하게 만듭니다. Cell State는 Forget Gate와 Input Gate에 의해 갱신됩니다. Output Gate는 Cell ..