today's video that i watched is the video clips from friends "Joey doesn't share food". before i watch original video clip, i wathced this clip with subtitle and comments about the words. There were a lot of expressions i didn't know well, like "out of nowhere", "reach down/into/up", "get along", etc. it was really helpful for me to practice listenting this words.
i was too self satisfied about my listen skills because i can understand many video uploaded by english teacher. but desipite they speak easily to understand for students, i forgot those clips are for english learner not native and i did feel like that. this seems really ashamed.
so, after i realized that, i tried to listen what speakers are saying in the video several times, tried to memorize their pronounciations about the expressions i couldn't understand. and then i watched original video without any comment or any funny explain. that was too hard for me. so i also watched it repeatdly and was shadowing again, again.
finally, I could understand most of what speakers are saying. anyway i'm not sure what is the reason of my comprehension about the video, whether i memorized all of things or i eventually become familier with native speaker's pronounciation. I think if i watch another video, i will be able to find the answer of this questions. so, there's long way to go to be a better listener yet.
Backpropagation applied to handwritten zip code recognition
1989년 Yann LeCun은 최초의 딥러닝 모델이라 할수 있는 LeNet을 소개하였는데, 이 논문에 대해 한번 리뷰해보자.
일단 초록의 내용을 정리하면
작업 범위에 제약을 주면 신경망의 학습 능력을 크게 높일수 있는데, 이 논문에서 그런 제약들이 어떻게 신경망 구조 전반에 역전파 과정으로 반영이 되는지 설명하려고 한다. 이 방법이 US 우편 서비스에서 제공하는 손글씨 우편번호 인식에 잘 적용되었으며, 신경망을 학습시킴으로서 정규화된 이미지를 분류할수 있게 되었다.
다시 정리하면 신경망은 작업을 어떻게 수행할지에 대한 제약 조건을 역전파를 통해 신경망에 반영을 반영 시킴으로서 학습 능력을 줄 수 있는데, 레쿤은 정규화된 문자 이미지를 입력으로 주었을때 분류 결과를 출력할 수 있는 신경망을 만들었다. 그 결과 미국 우편 시스템에서 손으로 적은 우편 번호를 잘 인식할 수 있었다고 한다.
이제 소개를 보면
레쿤은 1989년 단순 순자 이미지를 인식하는 연구를 했는데, 작업에 대한 사전 지식을 가진 신경망 모델을 설계해서 다른말로 신경망을 설계하고, 학습 시킴으로서 복잡한 경우에도 좋은 결과를 얻을수 있었다고 한다.
이 때 계산 성능이 저하되지 않을 정도로 신경망 파라미터를 줄이지 않는 것이 기본 원칙이며, 이를 지키면 올바르게 분류할 확률을 증가킬수 있었다.
이 논문에서는 Rumelhart가 1986년에 소개한 역전파 알고리즘을 미국 우편 번호 인식에 적용한 결과를 1989년 덴버가 했던 연구와는 다르게 특징 벡터이 아닌 이미지 자체를 바로 신경망에 넣음으로서 많은 양의 저차원 정보를 어떻게 역전파 신경망이 처리하는지 보여주고자 한다.
정리하면 1989년 레쿤은 특징이 아닌, 이미지 픽셀 같은 저 수준의 정보들을 역전파 신경망의 입력으로 사용하여 실제 우편 번호 인식에 적용하였다.
우편번호 데이터
레쿤이 사용한 우편 번호 데이터들은 손글씨 우편 번호들을 분할한 9298개의 디지털 이미지를 사용하였는데, 크기도 다양하고, 글씨체나, 도구도 다양했다. 이 중 7291개를 훈련용으로 사용하고 2007개를 성능 평가용으로 사용해지만 여기서 중요한 점은 훈련이나 테스트 데이터 셋 둘다 애매하거나 불류할수 없거나, 오분류된 예시들도 상당히 많이 있었다.
원래 우편 번호들은 40 x 60 정도의 크기로 다양했지만 선형 변환을 통해 16 x 16 크기의 이미지로 맞추었고, 스케일 조정이랑 중앙에 위치하도록 조정 시켰다.
데이터를 정리하면 총 9298개의 16 x 16 크기의 숫자 이미지를 사용
신경망 설계
신경망의 모든 층들이 완전 연결되어 있으며, 신경망의 입력은 16 x 16의 정규화된 이미지, 출력은 원핫 인코등 방식으로 10개의 데이터가 나오도록 되어있다.
특징 맵과 가중치 쉐어링
기존의 시각 인식 연구에서는 지역 특징을 추출하고, 그들을 조합하는것의 장점이 있었는데, 이 기법을 신경망 내부의 히든 유닛이 지역 정보들을 결합시킴으로서 쉽게 적용시킬수 있다.
물체의 특징은 입력 이미지의 다양한 위치에 나타날수 있으니 특징 검출을 하는게 좋지만 특징의 위치 정밀도는 크게 중요하지 않으므로 좀 잃어도 괜찬다. 1980년 푸쿠시마의 연구에 따르면 정확하지는 않더라도 대략적인 위치들은 다음 층에서 더 높고, 복잡한 특징들을 구하는데 필요하다고 한다.
입력의 어느 지점에서 특징여부를 구하는 방법으로 "가중치 공유" 기법을 사용할수 있겠는데, 1986년 rumelhart가 소개한 개념으로 여러 신경망의 연결들이 같은 가중치를 가지는것을 말한다. 가중치 공유는 파라미터 숫자를 줄일 뿐만이 아니라 기하 정보도 나타낼수 있는 장점이 있다. 이 연구에서의 첫 히든 레이어는 특징 지도라 부르는 여러 평면들로 이루어 져있는데, 한 평면의 모든 값들은 같은 가중치를 공유하고 있어 서로 다른 장소에서 같은 특징을 검출하게 된다.
위 내용을 정리하면 고전 패턴 인식 분야에서 저수준의 지역 특징을 조합하여 복잡한 특징을 구했다고 한다. 복잡한 특징을 구하는데 있어서는 정확하지는 않더라도 대략적인 위치만 있어도 되다는것 같다. 가중치 공유에 대한 내용은 아래의 그림으로 적었다.
신경망 구조
신경망은 H1, H2, H3이라 부르는 히든 레이어로 구성되어있으며, H1와 H2에 대한 연결이 강하게 제약되어있다. H1은 8 x 8 크기의 12개의 특징지도로 이루어져 있으며, 각 특징 지도를 H1 1, H1 2, H1 12의 식으로 부르겠다.
특징 지도의 각 값은 이미지 평면에서 5 x 5의 이웃들로 구하는데, H1에서 한 유닛당 입력 레이어에서 두 픽셀 간격으로 이동 시키면서 구하면, 입력 이미지는 언더 샘플링되고 일부 위치 정보가 사라진다. H1에서 H2에서도 이런 연산을 하여 특징 여부는 검출하지만 특징의 위치 정확도가 동일하지 않도록 하겠다.
커널을 스트라이드 2로 하여 슬라이딩을 시켜 16 x 16의 이미지가 8 x 8의 히든 레이어로 서브샘플링 시키고있다.
이미지의 어느 지점에서 중요한 특징의 경우 다른 위치에서 중요할수 있다. 그러므로 특징 지도가 주어질 때, 그 특징에 해당하는 유닛들의 경우 같은 가중치를 가지게 된다. 다시 말하면 H1 1의 64개의 유닛들은 25개의 동일한 가중치 셋으로 구한것이라 할수 있겠다. 이미지의 해당 부분에서 동일한 연산을 하여 구한것이며, 특징 지도를 이용한 이 함수, 연산을 5 x 5 커널을 이용한 비선형 서브샘플된 컨볼루션이라 생각할수 있겠다.
위 내용을 정리하면 하나의 커널로 컨볼루션 연산을 수행하여 하나의 히든 레이어를 구하므로 가중치 공유라고 부르며, 해당 커널이 가장 잘 나타내는 특징들 위주로 컨볼루션 연산 결과가 나오게 된다. 아래의 커널이 주어질때 "/"부분이 가장 잘 찾아지며, 텅빈 공간의 경우 컨볼루션을 하여도 아무것도 찾아지지않는다.
다른 특징 맵(히든 레이어)의 유닛은 다른 25개의 가중치(커널)으로 구하며, 특징 맵 끼리는 편향 또한 구하지 않으며 각 특징맵의 유닛은 컨볼루션 연산 후 편향을 더하여 구한다. H1 레이어는 768개의 유닛( 8 x 8 x 12)과 19,968개의 연결(768 x 25 + 268 x 1[편향])으로 이루어지며, 학습 가능한 파라미터는 1068개(768 히든 레이어+ 25 커널x 12커널 개수)뿐이다. H2 레이어도 12개의 특징 지도로 이루어져, 각 특징 지도는 4 x 4 크기의 평면으로 16개의 유닛을 가지며, 입력과 H1과 동일한 방식으로 연결되어 있다.
H2의 유닛들은 H1 특징 지도들로부터 얻은 지역적인 정보들을 가지고 있으며 5 x 5 크기의 8개의 맵(커널)로 구한다. 그래서 H2의 한 유닛의 입력은 200(5 x 5 x 8)개의 가중치와 평향들로 이루어진다. 정리하면 H2 레이어는 192개의 유닛(12 x 4 x 4)를 가지고 있고, 총 연결은 192 x 201(가중치 200+ 편향 1) = 38,592개의 연결들로 이루어 진다. 여기서 학습 파라미터 갯수는 2592개로 200개의 가중치 x 12개의 특징 지도 + 192개의 편향이 된다.
이제 대강 이 논문 전반에 대해 본것 같으니 마치자면
LeCun은 컨볼루션 연산을 이용하여 우편 번호를 인식 가능한 신경망 모델을 만들었다.
여기서 컨볼루션에 사용하는 각 마스크들은 원본 픽셀 이미지로부터 지역 특징들을 학습(역전파 알고리즘을통해)시켜 구하고, 이 마스크들은 주어진 이미지에서 중요하다고 하는 특징들을 검출하여 은닉 층들을 만들었다. 이 은닉층에 마스크로 컨볼루션을 더 함으로서 지역적이던 특징들이 혼합되도록 하였고, 그 결과 10개의 카테고리로 줄임으로서 입력 이미지로 부터 숫자 데이터를 구할수 있게 되었다고 할수 있을 것 같다.
yesterday, i couldn't write anything because i hang out in the moring, so i was too tired. because of that i need to write my dialog in the weekend too. anyway, today i watched the friends because it is the most popular tv show for everyone who study english so, i choosed it.
that video was uploaded by the channel learn english with series, their views was over the 1Millons. that channels makes very good videos to study because they not only gave us a subscription, but also meanings of the words, ans some example of the expressions. that was really great to understand what the actor or acteress are saying, and by repeating them severy times, i have enough time to remebmer it.
original video clips was short 4 to 5 minutes, but adding these materials for training the videos running times was only 15 minutes, it was not long for me. after watching that, i find the original video and watched it without subscription. also, i couldn't understand all of them, but thanks to this training i could understand some words and expression that i didn't know before.
the day before yesterday, you know i watched the same video gaved me a big intuition of english speaking because i wanted to understand more about that. but i forgot the most thing is using another words and expression not i used before. so, this is why i choosed the video about friends. althoug the firends is too fast and hard for me because of many expressions i don't know, if i try to watch and practice it repeatedly, i hope i will be more familiar with speaking english.
2021년이 되고 나서도 성장했는가? 되돌아보면 뭔가 많이는 한것 같지만 아직은 잘 모르겠다.
이번주에 크게 컴퓨터비전 딥러닝에서 최적화 기법들이랑 배열 관련 알고리즘들, 그리고 자연어 처리하는 신경말 모델들을 공부했었는데, 지난주랑 비교했을때 나아진점은 시간 관리를 적절하게 한 점인것 같다.
에러 해결 과정에서 딥러닝 모델 입출력 구조 이해
지난 주에는 여러 에러를 해결하는데 시간도 줄기는 했지만, 해결 과정에서 관련 있는 부분을 정리하면서 매우 유익했다. 모델 내 컨볼루션 연산 시 에러가 발생을 했는데 이 원인을 찾아가면서, 특히 신경망 모델 구현 중 각 층의 파라미터들을 설정해주는데, 어떻게 이 파라미터들을 설정하느냐에 따라 학습 파라미터 갯수가 늘어나고 줄어드는지, 출력형태가 어떻게 되는지 등을 날 잡고 보면서 이해하는데 많이 도움되었다.
다른 방식으로 정리해보자
얼마전에 영어 공부하다가 영어 스피킹 자체는 잘 나오는데 막상 단어가 안떠올라 막히는 문제가 있었다. 잘 떠오르는 단어들로 문장을 쉽게 만들수 있지만 그렇게 다양한 단어들을 활용하지는 못하는 문제가 있었다. 그 원인은 아는 단어가 많더라도 말할때 익숙한 단어만 쓰다보니 안되던 것이었고, 지금은 잘 안쓰던 단어를 스피킹 문장을 만드는데 사용하려고 의식하고는 있는 중이다.
이처럼 나는 전부터 공부할때마다, 내 언어로 정리하기 보다는 남의 말을 그대로 자주 반복하고 있었다. 어떻게 정리해야 될지를 몰라서. 그런데 이번에 최적화 내용을 정리하면서 신기한 일이 있었다. 시간 여유가 있는 동안은 저스틴 존슨 교수님이 말하는 모든 내용들을 내가 이해한데로 번역해서 정리하고 있었는데, 내가 이해할수 없는 표현들이 너무 많아 진행이 더디고 번역의 질이 좋지 않았다.
그러다 시간이 부족해지자 뒷 내용은 그림이랑 설명만 몇개 붙이고, 강의 내용과 설명을 보고 내 방식대로 이해하고 끝냈었다. 그러자 발표를 하는데 앞의 내용은 내가 번역한 내용을 따라가느라 버벅였지만 뒷 내용은 내가 이해한 방식대로 말하다보니 말이 술술나오기 시작하더라. 이러면서 내 언어로 정리하는 중요성을 오랜만에 느낄수 있었다. 전에도 몇 번 경험했지만 수능 때부터 깜지식으로 복습하는게 익숙하다보니 나한태는 너무 힘들더라.
알고리즘 공부는?
이번 주에는 알고리즘 공부로 배열 처리에 관한 내용들을 봤었다. 내가 어떤 문제를 풀었더라.
리트 코드에서 생각 나는데로 정리해보자
1. 벽으로 물을 가두고 물 량이 얼마나 되는지 구하는 문제
2. 자기 자신을 제외한 수들의 곱을 반환하는 문제
3. 가장 부유한 사람을 찾는 문제
4. 세 수의 합이 0이 되는 경우 찾기
5. 배열 파티셔닝
하나가 더 있었는데 생각 안나니 넘어가고, 이번 주에는 시간 절약을 잘 했었다. 지난 주에는 내 방식대로 풀겠다고, 고집 부리다가 알고리즘 문제 푸는데 다풀기는 했지만 상당히 많은 시간을 허비하고 말았다. 그런데 그렇게 시간을 쓰는게 잘한 것 같지는 않더라 더 좋은 방법들이 있는데 안보고, 다른일들이 있는데 이러기가 그래서 이번에는 좀 풀어보려고 해보고 좋은 방법이 떠오르지 않는 경우 책 등을 참고해서 풀었다.
as you know, i watched the video yesterday and i got a great insight of speaking why we got stuck. so after then i had practice to speak the words that i never used before consciously. after one day, i think this really works because after do that, i could make a sentence better than before. of course. of course, my improvement is not big enough to speak like that, but i can feel it's real helpful for me!
anyway, for training my english skills, i searched a video how to imporve my speaking vocabulary, i found the one that i watched yesterday again! but it's really really helpful for me, i just watch it again. during wachting that, i could understand more words and do shadowing practice more than before.
today's dialog is not longer enough. but i'm so tired becuase i participated in a meeting about mearchin learning. i tought that i already study AI, so it will be easy for me. that thoughs was really silly, the presenter was really comprehensive and gaves us many intuision about that. i was satisfied with attending that meeting.
hi, today i watched a video about vocabulary because i have a speaking test of phone enligh course and then i found the one of my problem is a vocabulary. if you may know, nowadays i feel something weird why my speaking skills is not imporved.
by doing shadow videos every weekdays, my speaking fluency becomes definitely better but whenever i want to say something or speaking in engish, it's hard for me to find any words that i want. with trials and erros, i finally found the reasons why i didn't get better in english. that's becaus i always use same words that is used before it big problems.
espicially, i searched some videos about that, vocabulary problem and found one that gives me a good tips. in the video, english teacher hadars talk about this easly to understand. she draw a big circle that means our vocabulary and then, she draw another small circles means some words we usally use.
she explained the situation about our vocabulary practice, whenever we study vocabulary, most of us try to memrized it. that's a big mistake becuause the things we need to do is making the small circle bigger not big circle we already know well. so, this reason today i tried to wright down my dialy with other words that i didn't use well. i confiently believe if i practice these words more, i will be familier with speaking english soon
today's video topic that i watched is when i speak no words come to my mind, what should we do!. the title of the video was "i want to speak english but words dont come to mind" do these 2 practical things.
aleena rais explains her own experience how she can be bettwer with english. she said the most important thing is practice, we need to start right now. and use the simple words if some word that want to say doesn't come up with us.
after watched the video, i had a time what is wrong with my way. i have a conclusion that i didn't try to speak something and i only used the same word before i use. this is big problem for me.
so i had decisions to reduce the amount of the daily and do speaking practice more with words i'am not to used like overcome, face, defeat, weekness, flaw, process etc.
it is very hard for me to use these words becuase theses words dose not really come to mind and i can think only without that. i already know what is the reason of this situation the practice i had done was not enough! anyway i should go speaking practice more.