본문 바로가기

전체 글311

[cs231n] 12 Object detection & Segmentation [Lec 12] Detection & Segmentation 이글은 앞부분에서 잠깐 semantic segmentation 이야기를 언급한 후, 중후반 부터는 object detection 이야기가 등장하고, 마지막에 instance segmentation을 언급합니다. 여러 종류의 컴퓨터 비전 tasks Classification Semantic Segmentation Object Detection Instance Segmentation 특징 No spatial extent No objects, just pixels 여러개의 objects, 특별히 하나의 object를 구별하는 과제는 (classification + Localization)라고 부름 여러개의 objects 단점 이미지 전체를 하나의 클.. 2019. 11. 8.
[Real-time] YOLO, You Look Only Once YOLO YOLO : You Look Only Once의 약자로, 빠른 물체 탐색기법에 대한 획기적인 방법을 소개하고 있다. YOLO는 R-CNN, DPM 계열 등과 다른 종류의 접근 방식으로, object detection를 적당한 성능으로 획기적인 속도향상을 이끌어내었다. 이전에서의 object detection은 detection을 수행하기 위해 분류기(classifier)를 목적으로 하였지만, YOLO에서는 이를 공간적으로 분리된 바운딩박스(bounding box)와 이와 관련된 클래스 확률에 대한 regression 문제로 바꾸었다. 즉, 한편의 실행(evaluation)에서 단일 신경망이 bbox와 cls 확률을 이미지로부터 직접 예측하는 방식이 된다. YOLO는 45 frame/s 로 이미지.. 2019. 10. 27.
[RNN] Language Model, Machine Translation, Image Captioning 이글은 기계학습, 오일석 저 책을 공부하면서 기록한 글입니다. RNN의 응용사례에 대해 배워봅니다. 5. 응용사례 순환신경망은 주로 가변 길이의 패턴을 처리하는 데 활용된다(Graves, 2012) NLP(Natural language processing, 자연어처리) 는 처리해야 할 문장이 짧은 것부터 아주 긴 것 까지 다양하게 발생하므로, 주로 순환 신경망을 이용한다. 음성 인식, 주식 예측 등 응용에서 분류나 회귀문제를 푸는 분별 모델(Discriminative model)로 활용된다. 새로운 문장이나 영상을 생성하는 등의 응용에서는 생성 모델(Generative model)로 활용된다. 5.1) 언어모델(Language Model) 언어 모델은 문장, 즉 단어 열의 확률분포다. 예를 들어 P(자세.. 2019. 10. 25.
[RNN] LSTM이란? 이글은 기계학습, 오일석 저 책을 보고 공부한 내용을 기록한 것입니다. RNN 모델 중 하나인 LSTM을 배워봅니다. 4. LSTM LSTM(Long short term memory)(Hochretier, 1997)은 여러 종류의 게이트가 있어 입력을 선별적으로 허용하고, 계산 결과를 선별적으로 출력할 수 있다. GRU(Gated recurrent unit)은 성능 저하를 최소로 유지하면서 LSTM을 단순화한 모델이다.(Chung, 2014) 4.1) 게이트 이용한 영향력 범위 확장 LSTM의 핵심 아이디어는 게이트를 열고 닫는 것이다. 게이트는 0.0~1.0사이의 실숫값을 가지고 개폐 정도를 조절한다. 언제 얼마만큼 여닫을지는 학습으로 알아낸다. 구조는 RNN의 은닉층에 메모리블록을 배치한 것이다.이 .. 2019. 10. 25.
[RNN] RNN이란? Sequantial data? 이 글을 기계학습, 오일석 저 책을 보고 공부한 내용을 기록한 글입니다. sequantial data에 대해 알아보고, RNN을 알아봅니다. 1. 순차데이터(Sequantial data) 데이터에는 시간성(Temporal property)을 가진 데이터가 많다. 심전도(ECG) 신호, 주식 시세, 음성 신호, 문장, 유전자 열 등등이 있다. 이런 데이터는 특징에 순서가 있다는 의미에서 순차데이터라고 한다. 시간성 정보를 잘 이용해야 데이터의 특징을 잘 다룰 수 있다. MLP 에 입력하는 데이터는 정적인 반면, 시간성 데이터는 시간에 따라 내용이 변하므로 동적이고, 길이가 가변적이다. 매우 긴 패턴을 처리하는 연구가 활발히 진행되고 있다. 예를 들어, 긴 문장은 멀리 떨어진 두 단어 사이의 문맥을 이해해야.. 2019. 10. 25.
[SW역량] 14501. 퇴사 N수가 작아서, 완전탐색으로 풀어도되고, 그렇지 않고 가능하다면 DP로 풀어도 되는 문제이다. 여러가지 DP 해법을 보다가, 가장 와 닿는 풀이방법을 찾았다. d[i] : i일로부터 N일까지 최대 수익 이라고 정하면, 식을 자연스럽게 세울 수 있다. d[i] = max(d[i+1], d[i + t[i]] + p[i]) 이제 d[i]를 solve(int i)라고 놓고, 리턴값을 d[i]으로 설정해서 풀어보자. 그렇다 Top-down 방식의 동적계획법이다. 기저 조건은, d[N + 1] = 0 d[N + 1 초과] = - INF 라는 것이다. 이것은 예제 하나를잡아 하나하나 대입해가면서, 마지막 조건을 생각하면 이해가 쉬운 편이다. Hint: 마지막 날의 t[i]가 1이라면, d[i + t[i]] + p[i.. 2019. 10. 19.
[백준] 15663. N과 M(9) N과 M문제 중에 이 문제만 정답률이 47%로 낮다. 낮은 이유가 있었다. 중복되는 것에 대해서 트릭이 필요했다. 두 가지 방법을 소개한다. 수열 인덱스를 골라 나갈 것인데 예를 들어 4개중 2개를 골라보자. 4 2 9 7 9 1 2번 예제이다. 0 1 0 2 0 3 1 0 1 2 1 3 2 0 2 1 2 3 3 0 3 1 3 2 이 될것이다. 우선 v에 입력을 순서대로 저장하면 1 7 9 9 가 될 것인데, 저 순서대로 출력한다면, 1 7 1 9 1 9 7 1 7 9 7 9 9 1 9 7 9 9 9 1 9 7 9 9 이렇게 될 것이다. 중복되는 수열이 많다. 이것을 제거하는 방법은 해당 depth에서 새로운 인덱스를 고르기전에(for문전에) 이전 값을 기억하는 변수를 만드는 것이다.(before) 따라.. 2019. 10. 19.
[GCD 알고리즘] 최대공약수 알고리즘 GCD 알고리즘 GCD(Greatest Common Divider, 최대공약수)를 구하는 방법 중 하나로 유클리드 호제법(유클리드 알고리즘, Euclidean algorithm)이 있습니다. 유클리드 호제법은 간단합니다. a, b의 최대 공약수를 (a, b)라고 정의하면 다음과 같은 관계가 성립합니다. $$ \begin{align}(a, b) = (b, r) \newline &where, a \geq b, 0 \leq r < b\end{align} $$ 단, a, b는 정수이고, a를 b로 나눈 나머지는 r 입니다. 증명은 비교적 간단하지만, 수식이 조금 복잡할 수 있습니다. 따라서 최대한 핵심 수식만 쓰고, 나머지는 말로 풀었습니다. 증명은 다음과 같습니다. 1) $$ (a, b) = d, a = d .. 2019. 10. 18.
[Pandas] Part 4. Duplicate, SettingWithCopyWarnings, Display options, Apply fuction, MultiIndex 26. Find and Remove Duplicate Rows user_cols = [&#39;user_id&#39;, &#39;age&#39;, &#39;gender&#39;, &#39;occupation&#39;, &#39;zip_code&#39;] users = pd.read_table(&#39;http://bit.ly/movieusers&#39;, sep=&#39;|&#39;, header=None, names=user_cols, index_col=&#39;user_id&#39;) users.shape users.zip_code.duplicated() # 이전 열에 같은 값이 있으면 False users.zip_code.duplicated().sum() # zip_code가 같은 148개의 dup.. 2019. 10. 12.
[Pandas] Part 3. Dataframe smaller and faster, Dummy, Dates and times, 21. Make Dataframe smaller, faster object 타입 대신, category 타입 사용은 메모리 usage를 효율적으로 활용할 수 있게할 뿐만 아니라 시간도 빨라질 수 있습니다. string(object)을 탐색하는 것보다, integer(category)탐색이 시간이 빠르기 때문입니다. drinks.info() # + 의미: object가 무엇을 참조하느냐에 따라 9.2KB를 초과할 수 있다. >> RangeIndex: 193 entries, 0 to 192 Data columns (total 6 columns): country 193 non-null object beer_servings 193 non-null int64 spirit_servings 193 non-null i.. 2019. 10. 12.
728x90