Coursera - NLP in tensorflow 수업 takeaway 예를 들어서 classifier 를 만든다고 할 때, 그냥 Dense net 을 이용해서 만든다는 것은 결국 단어 순서 상관없이 bag of words 로 classifier 를 만드는 거다. 물론 이것도 충분히 잘 작동할 수 있다 - imdb 로 영화 리뷰 분류하는 것등. 그런데 tensorflow 기능 중에는 subword encoder 라고, 단어를 n-gram (n 이 fixed size 는 아님) 으로 tokenize 해주는 기능이 있다. 장점은 OOV 가 없다는 것이다 (새로운 단어도 다 더 작은 단위로 쪼개서 encode 하니까). 반면에, 이렇게 tokenize 된 text 를 보통처럼 embedding, poolin..
Subclass code example - build a model with tf.keras API https://gist.github.com/sthalles/190fcf1376fd0576ee3d6cd7f7c4b85d#file-subclassing_model-py subclassing_model.py GitHub Gist: instantly share code, notes, and snippets. gist.github.com Code details on https://towardsdatascience.com/everything-you-need-to-know-about-tensorflow-2-0-b0856960c074 Everything you need to know about TensorFlow 2.0..

2주도 전에 들은 수업을 지금 정리하는 클라스.. 기억을 더듬어 가며 다시 해보자. 이번 수업에서는 5가지 포인트를 중점으로 얘기한다. 1. NLP 과거 - 현재 엄청 간략하게 말하자면 NLP 문제를 해결하기 위한 여러 연구자의 공헌이 있었다. 그 덕분에 deep learning이 있기 전에도 이미 많은 NLP의 문제에 대한 해답을 찾을 수 있었다. 특히나 BiLSTM 이 등장하면서는 비약적으로 발전한 NLP. 하지만 그럼에도 여전히 부족한 점들이 있다. 우선, long term memory 는 여전히 취약한 부분. 극단적으로 인간과 비교를 해볼 때, 인간은 몇 년 전에 읽었던 문장도 기억하는 한편 deep learening 이 아무리 long term memory 가 좋아졌다고 해도 최대 몇십 문장정도..
BERT 를 이해하기 위해 읽은 글들 1. https://medium.com/dissecting-bert/dissecting-bert-part-1-d3c3d495cdb3 개괄적인 이해에 좋음. 인풋 행렬의 임베딩이 어떻게 되는지 실제 행렬 예시를 들어 보여주기 때문에 이해 하기 좋음. Dissecting BERT Part 1: The Encoder This is Part 1/2 of Understanding BERT written jointly by Miguel Romero and Francisco Ingham. If you already understand the Encoder… medium.com 2. http://jalammar.github.io/illustrated-transformer/ 내부 구..

대망의 마지막 수업... ㅜㅜ 중간에 듣다가 못 알아먹겠어서 처음으로 다시 돌아가서 듣는 바람에 애초 계획했던 시간의 2-3배가 걸렸지만 포기하지 않고 계속 들은 나 칭찬해!! 마지막 수업은 아직도 남은 NLP의 한계에 대해서 다루는 시간이었다. 총 8개의 한계에 대해서 다뤘음. 1. 모든 task에 적용가능하며 좋은 성능을 내는 하나의 architecture 가 없다. 이미지 에서는 거의 CNN 이 dominant 한 양상인데 NLP 에서는 하나의 아키텍쳐가 없고, task 마다 잘 작동하는 아키텍쳐 다 따로 있음 (LSTM, GRU, RNN .... ) -> Dynamic Memory Network 로 해결! 지난 수업 중에 Dynamic Memory network 나왔을 때, 하나의 아키텍쳐를 가지..

이번 수업은 다른 수업에 비해서 좀 더 언어학 부분이 많이 차지해서 한 숨 돌렸던 coreference resoltion! Coreference 라는 것은 텍스트 안에서 Real world 에 존재하는 entity를 모두 찾아내는 것을 의미한다. 여기서 Entity라 함은 고유명사가 될 수도 있겠지만 고유 명사를 가리키는 대명사나 혹은 일반 명사도 다 entity 가 될 수 있기 때문에 그렇게 쉬운 문제는 아니다. 그리고 어떤 단어가 entity 인지 아닌지가 항상 분명한 것은 아니기 때문에 (약간 애매한 것은 주관적인 판단에 따라 갈릴 수도 있다) 그런 점에서 어려움이 있다. Coreference 를 풀 때는 우선 고유 명사 찾아내기, 그리고 이 고유 명사를 가리키는 일반명사나 대명사를 찾아야 하는데,..

수업은 해당 질문으로 시작한다. 사실 자연어 처리의 모든 문제는 Quesntion anwering 이라고 할 수 있지 않을까? 감정 분석이나 기계번역과 같은 문제도 사실은 질문-답 형식으로 볼 수 있는 거임. 예) 사과가 불어로 뭐야? 예) 이 글에서 느껴지는 화자의 감정 상태는? 예) 이 문장의 POS 로 나타내면? 그래서 POS 태깅, 감정 분석, 번역의 모델들을 아예 조인트하게 묶어서 일반적인 질문에 대답하는 형태로 만들 수 있다면 멋지지 않을까? 에서 출발! 여기에 앞서서 해당 작업에는 2가지 어려움이 있다. 우선 Task (POS 태깅, 감정 분석, 번역)과상관없이 최고의 성능을 내는 뉴럴 아키텍쳐가 없다. Task 별로 최고 성능 내는 구조가 다 다름 (MemNN -> Question answ..

내가 이해한 대로 오디오 프로세싱을 간략하게 설명해보자면 이렇다. 우선, 아날로그 신호와 디지털 신호가 있는데 아날로그 신호는 그냥 우리가 내는 소리 그 자체라고 할 수 있고, 디지털 신호는 컴퓨터 파일로 바꾸거나 (녹음해서 파일로 저장할 때) 하기 위해서 필요한 것으로 사실상 숫자라고 할 수 있다 - 컴퓨터가 처리 가능한 데이터야 하니까. 사실 디지털 신호는 우리가 실제 내는 소리의 근사치다. 왜? 우리가 내는 소리는 일단 연속적인 값이다 (가장 작은 단위로 쪼갤 수 있는 게 아님). 이걸 디지털 신호로 바꿀 때 어떻게 하냐면, 우리가 낸 소리를 일정 간격으로 점을 찍어서 해당 점에 위치한 값을 기록하는 것이다. 이 때 이 1초 동안 찍는 점의 갯수를 샘플 크기라고 한다. 그리고 각각의 점을 슬라이스라..
이번 수업 시간에는 CNN에 대한 수업이었는데, 기존에 이미지 인식에서 자주 쓰이던 CNN을 자연어 처리에 쓰게 된 배경과, CNN이 자연어 처리에서 쓰일 때는 어떤 차이가 있는지에 대한 내용이다. 출바알-! 1. CNN을 쓰는 이유는? CNN을 쓰는 이유는 RNN이 가진 한계에서 온다. 우선 RNN 은 어떤 구문에 대해서 구문 별개로 인식을 할 수가 없다. 무슨 말이냐면, RNN 의 hidden state를 보면, 항상 왼쪽에서 오른쪽으로 문맥이 포함되는 구조임을 알 수 있다. 즉, 중간이나 마지막에 오는 단어의 vectcor에는 원하든 원하지 않든, 이전에 나온 단어의 문맥이 포함될 수 밖에 없다 (bi-directional도 마찬가지임). 결국 어떤 단어, 혹은 구문 (phrase) 의 의미가 문장..
이번 수업은 마지막으로, 다시 한번 더, GRU 를 뽀개버리는 수업이었다. 1. 왜 GRU 를 쓰지? 우선 왜 GRU 가 등장했는지를 알기 위해서는 기존에 있던 RNN 의 단점을 알아야 한다. 위의 이미지에 등장하는 수식은 을 구하는 방법으로, 즉 current hidden state 를 업데이트 하기 위한 수식이다. 수식을 간단하게 설명하자면, current step 에서의 input인 x 와, previous hidden state 에 각각 가중치를 곱하고 이 둘을 더한다. 여기에 bias 를 더한 다음 tanh 을 씌워서 -1 과 1 사이의 값을 반환하는 식이다. 이때 주목해야 할 것은 previous hidden state 에 weight matrix U를 곱했다는 점. 이런 식으로 weight ..
- Total
- Today
- Yesterday
- Elmo
- transformer
- 워터마킹
- 뉴런
- Contextual Embedding
- 언어모델
- Statistical Language Model
- nlp
- cs224n
- Pre-trained LM
- Attention Mechanism
- neurone
- neural network
- weight vector
- Bert
- Neural Language Model
- language model
- word embedding
- GPTZero
- 벡터
- LM
- 뉴럴넷
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |