forb300의 등록된 링크

키자드에 등록된 총 154개의 포스트를 확인하실 수 있습니다.

Naver Blog

[Javascript] _4_자바스크립트 자료형과 형 변환_숫자형, BigInt, 문자형, Boolean, null, undefined, 묵시적/명시적 형변환

(인프런의 '웹 프론트엔드를 위한 자바스크립트 첫걸음' 강의를 듣고 정리한 내용입니다) (하단에 강의 할인코드 있어요^^) 키워드 - 자바스크립트의 자료형(원시타입, 비원시타입) - 숫자형, BigInt형 - 문자형, Template literals - Boolean형 - null형, undefined형 - 자바스크립트의 형변환 - 묵시적 형변환, 명시적 형변환 - parseInt 이번에는 자바스크립트의 자료형과 형변환에 대해 공부해보겠습니다 자바스크립트의 자료형 자료형 : 변수의 종류를 의미하는 말 자바스크립트 자료형은 일단 크게 하나의 고정된 값 갖는 '원시(primitive) 타입'과 한번에 여러개의 값을 갖는 '비 원시(non-primitive) 타입'으로 나눠집니다 출처: 강의자료 캡쳐 자바스크립트 원시타입 자료형 살펴보기 "숫자형" 사칙연산(+-×÷ )가능 정수, 소수, Infinity, NaN 이 숫자형에 포함됩니다 Infinity: 무한대를 나타내는 값. 0으로 나누는

Naver Blog

[Javascript] _5_자바스크립트의 연산자_산술, 대입, 논리, 비교, 연결, null병합, 삼항 연산자

(인프런의 '웹 프론트엔드를 위한 자바스크립트 첫걸음' 강의를 듣고 정리한 내용입니다) 키워드 - 자바스크립트 연산자 - 산술연산자 - 대입연산자 - 복합대입연산자 - 논리연산자 - 비교연산자 - 연결연산자 - null 병합연산자 - 삼항연산자 이번에는 자바스크립트의 연산자에 대해 알아보겠습니다 연산자 종류가 많아요 다른 언어와 겹치는 연산자들도 많지만 자바스크립트에서 처음 등장하는 연산자들도 있기 때문에 잘 봐둬야합니다 자바스크립트의 연산자 연산자 : 프로그래밍 언어에서 특정 연산을 할 수 있도록 도와주는 문자 "산술연산자" 사직연산 연산자 나머지 연산자 증감연산자 기호 +, -, *, / % ++, -- 전위연산 후위연산 ++num : 먼저 더하고 작업 num++ : 작업 후 더하기 num에 1이 들어갔을 때 후위연산을 해서 출력하고 일단 출력하고 1을 더해줍니다 그래서 후위연산을 한 다음에 num을 확인하면 2가 됩니다 전위연산을 하면 1을 더한 다음에 출력을 하기 때문에 3이

Naver Blog

[Javascript] _6_자바스크립트의 조건문과 반복문_ if, else if, else, for, while

(인프런의 '웹 프론트엔드를 위한 자바스크립트 첫걸음' 강의를 듣고 정리한 내용입니다) 키워드 - 조건문(if, if-else, if-else if) - 반복문(for, while) - Object.keys() - Object.values() - Object.entries() - for-on - for-in 이번에는 자바스크립트의 조건문과 반복문에 대해 다뤄보겠습니다 자바스크립트의 조건문 조건문 : 특정 조건이 성립되었을 때, 그 조건에 해당하는 코드를 실행하게 하는 문법 자바스크립트의 조건문의 종류는 크게 4가지가 있습니다 c에서 사용하는 조건문과 굉장히 유사하네요 if문 if-else문 if-else if문 switch/case문 형태 if(조건) { 코드; } if(조건) { 코드1; } else { 코드2; } if (조건1) { 코드1; } else if(조건2) { 코드2; } else { 코드3; } switch(변수값){ case 1번케이스: 코드1; break; ca

Naver Blog

[Javascript] _7_자바스크립트 함수, 지역변수/ 전역변수 _function, return, early return, local/global variable

(인프런의 '웹 프론트엔드를 위한 자바스크립트 첫걸음' 강의를 듣고 정리한 내용입니다) 키워드 - 함수(function) - 함수의 선언과 호출 - return문 - Early Return Pattern - 지역변수(Local variable) - 전역변수(Global variable) 자바스크립트 함수 함수 : 같은 동작을 하는 중복된 코드가 이곳저것에 존재할 때, 이것을 하나로 묶어 하나의 명령으로 실행할 수 있게 해주는 기능 함수의 선언과 호출방법 같은 기능을 하는 똑같은 코드를 계속 작성하기보다는 함수로 선언해두고 필요할때 가져와서 쓰면 훨씬 사용하기 좋습니다 이렇게 두 수의 합을 구할 때 같은 구조의 코드를 똑같이 쓰는 것은 비효율적이고 쓸데없이 길기만 합니다 그래서 이렇게 함수로 쓰면 훨씬 효율적으로 쓸 수 있습니다 함수를 호출할 때는 함수이름과 함수의 매개변수로 넣을 값(인수)을 적으면 됩니다 함수의 return문 함수의 결과를 반환하고 싶다면 return문을 추가하면

Naver Blog

[Javascript] _8_자바스크립트의 '스코프'와 '호이스팅'_global scope, local scope, hoisting, temporal dead zone

(인프런의 '웹 프론트엔드를 위한 자바스크립트 첫걸음' 강의를 듣고 정리한 내용입니다) 키워드 - 스코프(전역, 지역) - let, var의 스코프 - 호이스팅(함수호이스팅, 변수호이스팅) - TDZ(Temporal Dead Zone) 스코프(Scope) 자바스크립트에서 우리가 변수나 상수를 생성할 때 해당 변수 또는 함수가 갖게 되는 유효범위를 '스코프(Scope)'라고 합니다 자바스크립트에는 크게 4가지 스코프가 있어요 이 4가지 스코프를 한 표에 정리해 봤습니다 전역스코프(Global scope) 지역스코프(Local scope) 가능범위 어디서든지 해당 변수에 접근할 수 있는 범위 해당 지역에서만 접근할 수 있는 범위 스코브 전역 스코브를 가짐 지역 스코프를 가짐 종류 블록스코프 함수스코프 같은 블록(중괄호, { })에서만 접근 가능한 범위 함수 내부에서만 접근 가능한 범위 이~전 포스팅에서 자바스크립트의 변수와 상수에 대해 다룰 때 var와 let의 차이점에 대해 언급했었습

Naver Blog

[Javascript] _9_자바스크립트 함수 마무리!_함수선언식, 함수표현식, 화살표형 함수, 콜백함수

(인프런의 '웹 프론트엔드를 위한 자바스크립트 첫걸음' 강의를 듣고 정리한 내용입니다) 키워드 - 함수표현식 - 함수선언식 - 화살표함수 - 콜백함수 이전에 이미 함수를 다뤘는데 왜 다시 함수선언식과 함수표현식을 다루는 거냐!하겠지만 이전은 함수의 기본이었고 이번 포스팅을 통해 함수 마무리를 해보겠습니다 함수선언식과 함수표현식 일반적으로 함수 선언은 function키워드 옆에 함수의 이름을 적는 방식으로 합니다 출처: 강의 캡쳐화면 그렇지만 자바스크립트에서는 오른쪽 방식과 같이 함수를 선언할 때 함수표현식을 사용해서 함수를 만들 수 있습니다 변수에 값을 할당하는 것처럼 함수를 변수에 할당했습니다 함수 선언식과 함수 표현식의 차이점은 강의자료에서 잘 비교하고 있어서 가져와봤습니다 출처: 강의화면 캡처 함수 선언식은 호이스팅(앞쪽으로 끌고오기)이 가능한데 함수 표현식은 호이스팅이 불가능합니다 그래서 함수선언식은 결과가 잘 출력되지만 함수표현식은 에러가 생기게 됩니다 함수표현식으로 쓰고

Naver Blog

[딥러닝 개념 13] 일반화(Generalization)가 잘 된 모델을 만들어보자(2)_데이터증강, Early Stop, 가중치제어, 앙상블, Dropout

여기서 다루는 내용의 키워드 - 딥러닝 모델의 일반화 - 데이터 증강(augmentation) - Early Stop - 가중치제어 - L1 규제, L2 규제 - 앙상블 - Dropout 모델 학습은 중요합니다 더 중요한 것은 우리의 모델이 새로운 데이터가 들어와도 결과가 잘 나오는 일반화가 잘된 모델이 되도록 만드는 것입니다 이번에는 모델의 일반화를 방해하는 문제들을 해결하고 일반화가 잘된 모델을 만드는 방법에 대해 다뤄보겠습니다 일반화가 잘 된 모델을 만드는 방법은 여러가지가 있습니다 그 중에서 대표적인 방법 몇개를 살펴보아요 더 많은 데이터 사용하기 가장 간단(?)한 방법입니다 좋은 양질이 데이터를 많이많이 사용하면 돼요 크고 아름답고 더 좋은 데이터셋은 일반화 향상에 가장 좋은 방법이지요 근데 좋은 데이터를 많이 수집하는 것은 쉽지 않은 일입니다... 보안 문제, 데이터를 가져올 출처 등등 고려해야 할 여러 문제가 있기 때문입니다 그래서 많은 데이터를 사용하기 위해 Data

Naver Blog

[(인프런)웹 프론트엔드를 위한 자바스크립트 첫 걸음]_1_vscode로 Javascript 돌려보기

(하단에 강의 할인쿠폰 있어요~!) 강의에서는 sandbox를 사용하지만 sandbox가 대대적인 공사에 들어가서 수업에서 사용하는 템플릿인 vanilla javascript가 없어졌다고 해요 (아니 있던 템플릿을 없애네..? 실화냐...) 그래서 강의에서 말한대로 vscode를 사용해서 로컬에서 돌렸습니다 실행결과도 보고 싶으니까 vscode의 확장 프로그램 중 하나인 live server를 설치해줍니다 이렇게 생긴 녀석입니다 간단하게 index.html과 index.js파일을 만들어줍니다 그리고 강의에 나왔던 대로 간단뽀짝하게 코드로 써줍니다 이 코드는 자바스크립트를 넣지 않은 html코드입니다 이 코드를 실행한 결과를 live server로 확인할 수 있습니다 live server를 설치하면 vscode 오른쪽 하단에 Go Live가 생깁니다 그것을 클릭하면 됩니다 연결 전 연결 후. Port:5500을 클릭하면 연결해제도 가능합니다 그러면 이렇게 브라우저에 결과가 자동으로 뜨

Naver Blog

[99클럽 코테문제 8_1, 8_2]_<프로그래머스> 이상한 문자 만들기(Lv1), 하사드 수(Lv1) | python풀이

오늘의 비기너 문제는 이상한 문자 만들기와 하사드 수 입니다 이상한 문자 만들기 (Lv1) 이 문제는 문자열이 주어졌을 때 단어의 짝수번째 알파벳은 대문자로 홀수번째 알파벳은 소문자로 바꾸는 문제입니다 이때 주의해야 할 점은 공백은 짝/홀수 결정에 영향을 주지 않는다는 것입니다 전체 문자열을 기준으로 판단하는 것이 아니라 문자열에 있는 단어를 기준으로 판단해야 합니다 이 문제를 풀 때 가장 먼저 생각한 것은 공백을 어떻게 처리할까였어요 첫번째로 생각한 아이디어는 문자열을 공백을 기준으로 단어별로 분리한 다음 단어 안의 알파벳을 하나하나 확인하면서 대소문자를 바꿔주고 다시 하나의 문자열로 합쳐주는 방법이었어요 이 방법으로도 가능할 것 같았는데 단어 단위로 쪼개고... 단어를 또 알파벳으로 쪼개고...하는 것이 간단하게 할 수 있는 일을 늘리는 것 같아서 좀 더 간단한 방법을 생각해봤습니다 두 번째로 생각한 방법은 문자열 자체를 문자 하나하나로 나눠버리는 것이에요 공백도 문자 취급을 해

Naver Blog

[99클럽 코테문제 8_3]_<프로그래머스> 카펫(Lv2) | python풀이

오늘의 미들러 문제는 2개인데 아직 한 문제밖에 못 풀었어요 (나머지도 풀거임. 진짜임) 오늘 푼 문제는 바로 '카펫'입니다 중앙엔 노란색, 주변은 갈색으로 칠해진 격자무늬 카펫이 있습니다 노란색으로 칠해진 격자 개수와 갈색으로 칠해진 격자 개수는 알고 있지만 전체 카펫의 크기를 모릅니다 이때 카펫의 크기를 구하는 것이 이 문제의 내용입니다 카펫의 크기는 가로길이가 세로 길이보다 크거나 같다고 합니다 이 문제는 3단계로 나눠서 풀면 복잡하지 않게 풀 수 있습니다 Step1: 갈색 격자 개수의 패턴 파악하기 중앙에 노란색이 있고 주변에 갈색이 있다고 했으니까 혹시 패턴이 있지 않을까 생각해서 그림을 그려봅니다 중앙에 노란색 격자를 놓으면 노란색 격자 주변 4면에 갈색 격자를 기본적으로 놓아야합니다 그리고 사방 코너에 갈색 격자를 하나씩 추가해줘야해요 4면에 놓이는 갈색격자의 수는 노란색 격자의 배열 형태에 영향을 받습니다 노란색 격자가 가로로 2개, 세로로 1줄 놓여있다면 4면에 있는

Naver Blog

[99클럽 코테문제 9_1]_<프로그래머스> 나누어 떨어지는 숫자 배열(Lv1) | python풀이

오늘의 비기너 문제는 '나누어 떨어지는 숫자 배열'입니다 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 입출력 예 arr divisor return [5, 9, 7, 10] 5 [5, 10] [2, 36, 1... school.programmers.co.kr 주어진 배열의 각 요소 중에서 devisor라는 수로 나눴을 때 나눠떨어지는 수들을 오름차순으로 정렬한 배열을 만들어내는 것이 이 문제의 내용입니다 만약에 devisor로 나눠떨어지는 수가 없다면 [-1

Naver Blog

[99클럽 코테문제 10]_<프로그래머스> 짝수와 홀수(Lv1), 문자열 내 마음대로 정렬하기(Lv1) | python풀이

오늘의 비기너 문제는 '짝수와 홀수', 미들러 문제는 '문자열 내 마음대로 정렬하기'입니다 짝수와 홀수 코딩테스트 연습 - 짝수와 홀수 문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" school.programmers.co.kr 주어진 숫자가 홀수라면 'Odd', 짝수라면 'Even'을 반환하는 문제입니다 def solution(num): answer = 'Odd' if num %2==0: answer = 'Even' return answer 위에 했던 말을 그대로 코드로 옮겨주면 됩니다 answer를 odd와 even 중 하나로 초기화 한 후에 조건문으로 홀수인지 짝수인지 판단하는 코드를 추가하면 else를 쓰지 않고 원하는 값을 반환할 수 있습니다 문자열 내 마음대로 정렬

Naver Blog

[99클럽 코테문제 11]_<프로그래머스> 평균구하기(Lv1), 두 개 뽑아서 더하기(Lv1) | python풀이

오늘의 비기너 문제와 미들러 문제는 '평균구하기' 문제와 '두 개 뽑아서 더하기' 문제입니다 평균구하기 (for 비기너) 코딩테스트 연습 - 평균 구하기 문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arr return [1,2,3,4] 2.5 [5,5] 5 solution.c 실행 결과 실행 결과가 여기에 표시됩니다. school.programmers.co.kr 배열이 주어졌을 때 배열의 평균을 반환하는 문제입니다 평균을 잘 구하는 것이 포인트입니다 반복문을 사용해서 더할 수도 있지만 sum() 을 사용하면 한번에 구할 수 있습니다 평균이기 때문에 전체합에 배열의 크기를 나눠주면 됩니다 이 내용을 코드로 구현하면 아래와 같습니다 def solution(arr): answer = 0 a

Naver Blog

[Javascript]_2_자바스크립트를 배워야하는 이유, 자바스크립트 작동방식

(인프런의 '웹 프론트엔드를 위한 자바스크립트 첫걸음' 강의를 듣고 정리한 내용입니다) (하단에 강의 할인코드 있음^^) 키워드 정리 -자바스크립트의 정의 - 자바스크립트를 배워야 하는 이유 - 자바스크립트 엔진 - 자바스크립트 실행환경, 런타임 - 자바스크립트 에디터 - 자바스크립트 - 웹페이지를 사용자와 상호작용이 가능하게(=동적으로) 만들어주기 위해 개발된 프로그래밍 언어 자바스크립트 기반의 기술들이 굉장히 많이 쓰이고 있습니다(인기가 많아요) Node.js, React.js 등등 많이 보이는 기술들이 자바스크립트 기반입니다 그러니 이 기술들을 다루기 위해서는 기본인 자바스크립트를 잘 공부해야합니다 출처: 강의화면 캡쳐 다른 자바스크립트 기반의 기술들을 배우려고할 때 자바스크립트를 공부하는 단계를 뛰어넘는다면 라이브러리나 프레임워크를 이해하지 못할 수 있습니다 그러니 더욱 자바스크립트를 배워야겠지요 (React부터 공부하려고 한 나! 반성합니다) 출처: 강의화면 캡쳐 자바스크립

Naver Blog

[Javascript]_3_ 자바스크립트의 변수와 상수_ let, var, const, 자료형

(인프런의 '웹 프론트엔드를 위한 자바스크립트 첫걸음' 강의를 듣고 정리한 내용입니다) (하단에 강의 할인쿠폰 있어요~!) 키워드 정리 - 자바스크립트 변수(let) - 동적타입 - 변수의 자료형(typeof 명령어) - 변수 이름짓기(제외사항, 카멜표기법) - 자바스크립트 상수(const) 자바스크립트 기본 문법 공부를 시작합니다 기본 문법을 공부하는데에 html까지 연결하기는 좀 귀찮으므로 실시간으로 결과를 확인할 수 있는 온라인 에디터를 사용해보았습니다 좋은 온라인 에디터가 있어서 공유해봅니다 실시간으로 자바스크립트 결과를 볼 수 있어서 좋아요 (무료인 대신에 광고가 있긴 하지만 이정도는 납득가능) Online JavaScript Compiler (Editor) { } www.programiz.com 이렇게 생겼는데 아주 쓰기 좋습니다 Javascipt의 변수 변수를 사용할 때는 앞에 'let'을 붙여줍니다 예시 결과 출력(print 기능) cosole.log(출력할 값); 변

Naver Blog

[99클럽 코테문제 12]_<프로그래머스> 없는 숫자더하기(Lv1), 로또의 최고순위와 최저순위(Lv1) | python풀이

오늘의 비기너 문제는 '없는 숫자 더하기'와 '로또의 최고순위와 최저순위'입니다 없는 숫자 더하기 없는 숫자 더하기는 0-9까지의 숫자 중 일부가 들어있는 정수 배열에서 0-9까지의 수 중에서 해당 배열에 없는 수를 찾아 더한 값을 구하는 문제입니다 코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers 가 매개변수로 주어집니다. numbers 에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ numbers 의 길이 ≤ 9 0 ≤ numbers 의 모든 원소 ≤ 9 numbers 의 모든 원소는 서로 다릅니다. 입출력 예 numbers result [1,2,3,4,6,7,8,0] 14 [5,8,4,0,6,7,9] 6 입출력 예 설명 입출력 예 #1 5, 9가 numbers 에 없으... school.programmers.co.kr 0-9까지의 범위에

Naver Blog

[99클럽 코테문제3]_<프로그래머스> 문자열을 정수로 바꾸기 | python풀이

오늘도 잔잔하게 올라온 코테스터디 문제를 풀어봅니다 오늘 올라온 비기너 레벨 문제는 프로그래머스의 문자열을 정수로 바꾸는 문제입니다 코딩테스트 연습 - 문자열을 정수로 바꾸기 문제 설명 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 "0"으로 시작하지 않습니다. 입출력 예 예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다. str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다. solution.c 실행 결과 실행 결과가 여기에 표시됩니다. school.programmers.co.kr 문제는 간단합니다 숫자가 문자열의 형태로 주어지면 그것을 정수로 바꿔서 출력해주면 되는 겁니다 만약 앞에 부호(-. +)가 있다면 그것도 처리해줘

Naver Blog

패스트캠퍼스 환급챌린지 60일차 미션(3월 31일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘의 키워드(자세한 내용은 아래에) - FCN - DeepLab - DeConvNet - Encoder, Decoder - U-Net <오늘의 강의정리> Fully-Convolutional Networks(FCN) Semantic Segmentation을 위한 첫번째 end-to-end architecture입니다 fully connected layers 대신에 1x1 convolution을 사용합니다 image classification은 이미지를 convolution을 하고 fully connected layer 2개를 통과시켜서 얻은 결과에서 가장 확률이 높은 것은 image label로 지정합니다 semantic segmentation은 fully connected layer 대신에 feature map을 남기고 1x1 convolution이 슬라이딩 하면서 pixel들의 classification score를 뽑아냅니다. 그래서 output map이 출력이 됩니다 full

Naver Blog

[99클럽 코테문제4]_&lt;프로그래머스&gt; 콜라츠 추측 | python풀이

오늘의 문제는 콜라츠 추측입니다 코딩테스트 연습 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 주어진 수가 6이라면 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야 하는지 반환하는 ... school.programmers.co.kr 주어진 수를 주어진 조건에 따라 계속 계산해주면 모든 수를 1로 만들 수 있다는 추측이 콜라츠 추측입니다 짝수면 2로 나누고 홀수면 3을 곱하고 1을 더해주면 됩니다 만약 처음 수가 1이라면 0을 반환하고 500번을 반복했는데도 1이 안나오면 -

Naver Blog

[딥러닝 개념 11] 신경망의 학습에 영향을 주는 초매개변수(Hyperparameter)

여기서 다루는 내용의 키워드 - Hyperparameter(초매개변수) 지금까지 모델의 학습을 위해 데이터셋 분리하는 것과 학습 방향, 사용되는 알고리즘, 최적화 방법 등등을 살펴봤습니다 학습과정을 많이 알아본 것 같은데 우리가 또 봐야 할 것들이 있습니다 바로 '초매개변수(Hyperparameter)'입니다 매개변수는 알겠는데 '초'매개변수는 익숙하지 않은 단어입니다 뭔가 초인적인 힘을 가지고 있는 것 같지 않나요 매개변수는 크게 2가지로 나눠집니다 학습가능한 매개변수(Trainable parameters) 초매개변수(Hyperparameter) 학습가능한 매개변수는 학습과정에서 학습되는 변수입니다 계산을 하다보면 변화하기도 하는 변수이지요 학습의 역전파 과정에서 업데이트되는 가중치가 이에 해당합니다 초매개변수는 이와 다르게 알고리즘에는 영향을 주지만 초반에 한번 설정해두면 학습되지 않아서 변하지 않는 매개변수를 의미합니다 이런 변수가 있었나 싶지요? 생각보다 굉장히 많습니다 Hy

Naver Blog

[99클럽 코테문제5 &quot;만우절특집&quot;]_&lt;프로그래머스&gt; 짝수의 합 _ 길고 복잡하게 풀어보기

오늘은 만우절입니다 학교 같은 데를 가야 만우절인 것을 느낄테지만 갈 일이 없는 저는 만우절인 것도 모르고 있었어요 그러다가 코테스터디에서 만우절 특집 문제를 내주셔서 만우절인 것을 알았습니다 (오늘의 TIL은 이거다!) 만우절 특집 문제는 "짝수의 합"문제입니다 주어진 n이하의 짝수인 정수를 모두 더하면 되는 문제랍니다 코딩테스트 연습 - 짝수의 합 문제 설명 정수 n 이 주어질 때, n 이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요. 제한사항 0 < n ≤ 1000 입출력 예 n result 10 30 4 6 입출력 예 설명 입출력 예 #1 n 이 10이므로 2 + 4 + 6 + 8 + 10 = 30을 return 합니다. 입출력 예 #2 n 이 4이므로 2 + 4 = 6을 return 합니다. school.programmers.co.kr 간단하게 풀 수 있는 문제이지만 최대한 복잡하고 길~~~~게 풀어보는 것이 미션입니다 간단하게 풀면 2

Naver Blog

[99클럽 코테문제6_1]_&lt;프로그래머스&gt; 음양 더하기(Lv1) | python풀이

오늘의 비기너 문제는 음양더하기 문제입니다 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 제한사항 absolutes의 길이는 1 이상 1,000 이하입니다. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않... school.programmers.co.kr 정수의 절대값이 있는 배열과 정수의 부호가 담긴 배열이 있어요 정수의 부호가 담긴 배열은 true가 +, false가 -를 의미합니다 이 배열들을 사용해서 실제 정수의 값을 찾아서 정수들의 전체 합을 구하면 됩니다 def solut

Naver Blog

[99클럽 코테문제6_2]_&lt;프로그래머스&gt; 피보나치수(Lv2) | python풀이

오늘의 미들러 문제는 피보나치수입니다 코딩테스트 연습 - 피보나치 수 문제 설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주... school.programmers.co.kr 피보나치 수는 초기값 2개가 0, 1일때 한단계 전 수와 두단계 전 수의 합인 수를 의미합니다 주어진 문제에서는 n번째 피보나치수를 구해서 1234567로 나눈 나머지를 구하라고 합니다 n번째 피보나치수를 잘 구하는 것이 포인트입니다 피

Naver Blog

[99클럽 코테문제7_1]_&lt;프로그래머스&gt; 행렬의 덧셈(Lv1) | python풀이

오늘의 비기너레벨 문제는 '행렬의 덧셈'입니다 코딩테스트 연습 - 행렬의 덧셈 문제 설명 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. 제한 조건 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. 입출력 예 arr1 arr2 return [[1,2],[2,3]] [[3,4],[5,6]] [[4,6],[7,9]] [[1],[2]] [[3],[4]] [[4],[6]] school.programmers.co.kr 행과 열의 크기가 같은 두 행렬 arr1, arr2 가 있습니다 이 두 행렬의 행렬 덧셈 결과를 반환하는 것이 이 문제에서 원하는 것입니다 전 일단 answer행렬을 주어진 행렬의 행과 열 크기로 초기화해줬어요 2행 2열인 행렬이 주어졌다면 answer는 [[0,0], [0,0]]로 초기화됩니다

Naver Blog

[99클럽 코테문제7_2]_&lt;프로그래머스&gt; 기사단원의 무기(Lv1) | python풀이

오늘의 미들러 문제는 '기사단원의 무기' 문제입니다 코딩테스트 연습 - 기사단원의 무기 숫자나라 기사단의 각 기사에게는 1번부터 number 까지 번호가 지정되어 있습니다. 기사들은 무기점에서 무기를 구매하려고 합니다. 각 기사는 자신의 기사 번호의 약수 개수에 해당하는 공격력을 가진 무기를 구매하려 합니다. 단, 이웃나라와의 협약에 의해 공격력의 제한수치를 정하고, 제한수치보다 큰 공격력을 가진 무기를 구매해야 하는 기사는 협약기관에서 정한 공격력을 가지는 무기를 구매해야 합니다. 예를 들어, 15번으로 지정된 기사단원은 15의 약수가 1, 3, 5, 15로 4개 이므로, 공격력이 4인 무기를 구매합니다. 만약, 이... school.programmers.co.kr 기사는 본인의 기사번호의 약수의 개수에 해당하는 공격력을 가진 무기를 구매하려 합니다 그런데 공격력의 제한수치(limit)를 넘는다면 미리 지정된 공격력(power)에 해당하는 무기를 구매해야합니다 공격력 1당 1kg의

Naver Blog

[딥러닝 개념 12] 일반화(Generalization)가 잘 된 모델을 만들어보자(1)_Overfitting(과대적합)과 Underfitting(과소적합)

여기서 다루는 내용의 키워드 - 딥러닝 모델 일반화 - Overfitting - Underfitting - Training loss & Validation loss 우리가 만들고자 하는 모델은 일반화(Generalization)가 잘된 모델입니다 일부 데이터에만 맞는 모델이 아니라 새로운 데이터를 넣어도 잘 예측하는 모델을 원해요 - 일반화 - 학습데이터에 치우치지 않고 새로운 데이터가 들어와도 원하는 결과를 얻는 방법 일반화가 잘된 모델을 만들기 위해서는 고려해야하는 것이 많습니다 데이터가 너무 없거나 기타 등등 이유들로 인해서 모델에 문제가 생겨 일반화가 잘 되지 않을 수 있어요 일반화가 잘 되지 않은 모델은 overfitting(과대적합)이 되었거나 underfitting(과소적합)이 된 모델인 경우가 많습니다 Overfitting과 Underfitting을 공부하는 것으로 비유해볼게요 여기 학생 A(=model)는 공부를 할 때 주어진 참고서(=학습데이터)를 사용해서 열심히

Naver Blog

패스트캠퍼스 환급챌린지 55일차 미션(3월 26일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘의 키워드(자세한 내용은 아래에) - RCNN - Fast R-CNN - Faster R-CNN - Mask R-CNN <오늘의 강의정리> RCNN(Region-based CNN) 2stage object detector입니다 region proposal 뽑고 classification을 둬서 두 단계의 object detection을 수행합니다 1stage object detector은 한번에 object를 뽑으면서 그 위치에 대해 classification도 동시에 수행합니다 과정 입력이미지에서 region proposal을 추출합니다(selective search, edgebox를 사용합니다) CNN feature extractor로 classification을 수행합니다. object가 1개라면 softmax, 여러개라면 SVM을 사용하고 그 결과에 sigmoid를 classification을 수행합니다 Regions proposal을 뽑는 bounding box regr

Naver Blog

[딥러닝 개념 10] 학습에 사용될 데이터셋을 나눠보자_Train, Validation, Test

여기서 다루는 내용의 키워드 - 데이터셋 분할 - 학습 데이터셋(Train data) - 검증 데이터셋(Validation data) - 테스트 데이터셋(Test data) - Train / Validation / Test 학습을 할 때 데이터가 필요합니다 그런데 이 데이터를 모두 학습에'만' 사용할까요? 데이터를 모두 학습에만 사용한다면 학습이 잘 되었는지 확인은 어떻게 할까요 그래서 데이터를 모두 학습에 쓰는게 아니라 역할에 따라 분할을 합니다 데이터셋을 일단 크게 2개로 나눕니다 학습에 사용할 학습 데이터셋과 테스트에 사용할 테스트 데이터셋입니다 1차 쪼개기 테스트 데이터셋은 마지막에 평가할 때 딱 한번만 사용됩니다 그런데 학습한 모델이 정말 학습이 잘된건가 확인하고 싶잖아요? 또는 학습 데이터에 너무 overfitting이 된 것은 아닌가 이런 걱정이 들 수도 있습니다 그래서 학습 데이터셋 중에서 일부를 분리해서 검증데이터(validation data)로 사용합니다 2차 쪼개

Naver Blog

패스트캠퍼스 환급챌린지 56일차 미션(3월 27일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘의 키워드(자세한 내용은 아래에) - YOLO - YOLO v2 - YOLO v3 - YOLO v4 - Object Detection 평가지표 <오늘의 강의정리> YOLO(You Look Only Once) 'You look only Once: Unified, Real-time Object Detection(CVPR 2016)'에서 제시된 방법입니다 One stage Detector 입니다 regional proposal와 classification이 동시에 이루어져서 속도가 빠릅니다 과정 448x448 크기로 입력이미지를 리사이징합니다 이미지에 대해 convolutional network를 적용합니다 ImageNet classification task로 pretrain한 conv layer들을 사용합니다 해상도를 반으로 줄인 다음(224x224)에 detection할 때는 2배로 늘려줍니다 feature map에서 threshold을 해서 detection을 진행합니다 regr

Naver Blog

[(인프런)웹 프론트엔드를 위한 자바스크립트 첫 걸음] 자바스크립트 공부 시작(feat. 강의할인쿠폰)

(하단에 강의할인코드 받아가세요~) 어쩌다보니 프론트엔드 개발을 하게 되었습니다 프론트엔드 쪽을 하려면 기본적으로 html, css, 자바스크립트 지식이 필요하더라구요 html과 css는 옛날옛적에 건드려 본 적이 있는데 자바스크립트는 공부한 적이 없어요 그래서 자바스크립트를 공부하려고 이곳저곳 뒤지면서 강의를 찾아봤습니다 어떤 강의를 들을까 고민이 많았았습니다 강의가 너무 길면 안되고(길면 흥미없어지는 편) 그렇지만 필수적으로 배워야할 내용은 다 배우고 싶고 그리고 기왕이면 재미있는 결과물도 만들어보는 강의면 좋겠다는 생각으로 가지고 열심히 이곳저곳을 뒤져보았죠 그렇지만 저의 까탈스러운 기준에 맞는 강의를 찾는건 꽤나 어려운 일이었어요 이것저것 찾다보니 알고리즘도 안쓰러웠던지 저에게 딱 맞는 강의를 찾아서 띄워주더라구요 그렇게 강의시간이 길지도 않았고(총 강의시간이 6시간 정도밖에 안됨!) 내용을 보니 재미있을 것 같아서 맘에 들었어요 근데 맘에 드는 강의가 강의체험단도 모집한다네

Naver Blog

패스트캠퍼스 환급챌린지 57일차 미션(3월 28일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘의 키워드(자세한 내용은 아래에) - Feature Pyramid Network(FPN) - Image pyramid - Feature Hierarchy <오늘의 강의정리> Feature Pyramid Network(FPN) 다양한 크기의 오브젝트를 detect하려는 아이디어로 만들어졌어요 pyramid 구조 Image Pyramid downsampling을 매번 하면서 생긴 이미지에 object detector를 사용합니다 그래서 연산을 많이 하기 때문에 computationally heavy하다고 합니다 Feature Hierarchy(Feature Pyramid) detectir 를 feture level마다 사용합니다 low level feature에서는 semantic 정보가 부족하고 high level에서는 resolution이 너무 작다는 특징을 가집니다 그래서 이런 문제점을 해결하기 위해 Feature Pyramid Network(FPN)이 제안되었어요 bottom

Naver Blog

[99클럽 코테문제1]_&lt;프로그래머스&gt; 직사각형 별 찍기, 핸드폰 번호 가리기 | python풀이

개발자의 길을 가겠다 마음먹은 이상 코딩테스트는 피할 수 없는 관문입니다 중요한데...진짜 중요한데 요즘 다른 것 공부하다가 코테 준비에 소홀해졌지 뭡니까 이러다가는 나중에 코테 보기 직전에 벼락치기 한다고 난리칠 것 같아서 99클럽이라는 코테 스터디에 들어갔습니다 (추천해준 알고리즘에게 감사를) 정기적으로 온라인 모임을 하면서 문제도 풀고 현직자님의 문제풀이도 볼 수 있어요 그날 주어진 문제를 다른 분들은 어떻게 풀었는지 보면서 공부의지를 다질 수 있는 스터디입니다 풀 수 있는 프로그래머스 문제 난이도에 따라 비기너, 미들러, 챌린저로 스터디 그룹이 나눠집니다 프로그래머스 레벨 1 문제는 풀지만 레벨 2 문제해결에는 오랜 시간이 걸리는 저는 비기너 레벨로 들어갔습니다 게더타운에 모여서 같은 목적을 가진 분들과 문제를 푸는데 이거 참 좋습니다 여럿이 모이니까 그 시간동안은 집중해서 문제를 풀 수 있더라구요 이맛에 스터디합니다 오늘 비기너 레벨로 주어진 문제는 2개입니다 '직사각형 별

Naver Blog

패스트캠퍼스 환급챌린지 58일차 미션(3월 29일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘의 키워드(자세한 내용은 아래에) - PANet - EfficientDet - DeTR - Deformable DETR <오늘의 강의정리> Path Aggregation Network(PANet) top-down path의 FPN에 bottom-up path를 추가해서 object detection에서 scale robustness를 키우는 방식입니다 프레임워크 FPN backbone에 bottom-up path augemntation을 추가합니다 각 feature에 대해 adaptive feature pooling을 진행합니다 fully-connected fusion으로 mask prediction을 수행합니다 이 방법은 COCO instance segmentation challenge 2017에서 높은 성능을 달성했는데 이를 통해 botton-up connection이 이미지의 더 좋은 features생성에 도움이 된다는 결론을 얻었습니다 EfficientDet Efficie

Naver Blog

[99클럽 코테문제2]_&lt;프로그래머스&gt; 부족한 금액 계산하기 | python풀이

오늘의 파이썬 비기너 문제는 프로그래머스의 부족한 금액 계산하기 문제입니다 코딩테스트 연습 - 부족한 금액 계산하기 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 제한사항 놀이기구의 이용료 price : 1 ≤ price ... school.programmers.co.kr 놀이기구를 반복해서 타면 (놀이기구 반복해서 탄 횟수 x 놀이기구 이용료) 만큼의 금액이 누적됩니다 그러면 누적된 금액이 내가 처음 가지고 있는 금액보다 얼마가 넘는지(내가 돈이 얼마나 부족

Naver Blog

패스트캠퍼스 환급챌린지 59일차 미션(3월 30일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘의 키워드(자세한 내용은 아래에) - visual recognition -semantic(intance) segmentation - IOU - End-to-end CNN arhcitecture <오늘의 강의정리> Visual Recognition 방식 CNN backbone network로 image representation을 통해 feature map을 만들어줍니다 feature map을 어떻게 분석하느냐에 따라 아래와 같이 3가지 방법으로 분리할 수 있습니다 Image-level classification classification + regression(bounding box 찾기) dense pixel-level classification Semantic(Instance) segmentation semantic(클래스 라벨)에 따라 pixel를 grouping하는 방법입니다 다른 segmentation과 비교하기 Image segmentation 다른 색, 다른 재질이라

Naver Blog

패스트캠퍼스 환급챌린지 49일차 미션(3월 20일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘의 키워드(자세한 내용은 아래에) - Contrastive learning - SimCLR - MoCo Version2 - SimCLR Version2 - MaskFeat <오늘의 강의정리> SimCLR MoCo와 비슷한 시기에 나왔고 MoCo보다 성능이 더 향상된 모습을 보여주는 기법입니다 Contribution 다수의 data augmentation을 사용했어요. supervised learning보다 stronger data augmentation에서 이득을 더 보입니다. contrastive cross entropy loss를 사용해요 더 큰 batch 사이즈와 더 큰 training을 합니다. 이런 simple framework로도 contrastive visual representation learning의 좋은 결과를 보여줍니다. 이전 방식들보다 더 좋은 성능을 보이지만 개인 레벨에서는 사용하기 어렵다는 단점이 있습니다(개인이 구비하기 어려운 장비 문제,,) MoCo

Naver Blog

패스트캠퍼스 환급챌린지 50일차 미션(3월 21일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘의 키워드(자세한 내용은 아래에) - BYOL - Barlow Twins - DINO - Self-Supervised Learning <오늘의 강의정리> BYOL Bootstrap your own latent A New approach of Self-Supervised Learning (NIPS2020) 기존 contrastive learning 방법들은 negative를 잘 선택해야 했어요 다양한negative mining 방법이 필요했고 굉장히 큰 batch 크기로 학습시켜야 했습니다 그리고 image augmentation 조건에 따라 학습 안정성도 불안했어요 그래서 제시한 방법에서는 네트워크 2개(siamese network)를 사용해서 학습했습니다 기존 방법인 simclr보다 batch size나 image augmentation에 대해 덜 민감하다는 결과를 보였습니다. supervised learning으로 pre-train했을 때보다 더 좋은 성능을 보였습니다 Bar

Naver Blog

패스트캠퍼스 환급챌린지 51일차 미션(3월 22일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘의 키워드(자세한 내용은 아래에) - Semi-supervised learning - Entropy minimization - Proxy-label methods - Consistency Regularization - Holistic Method <오늘의 강의정리> Semi-Supervised Learning Entropy Minimization Simi-supervised Learning by Entropy Minization(NIPS 2004)에서 처음 제안되었어요 Decision boundary는 데이터 밀도가 낮은 곳에서 형성될 것이라는 가정에서 시작되었어요 사용한 방법 Prediction을 좀 더 sharp하게 만들어서 entropy를 minimize하고 Psudo-label을 사용했어요 Proxy-Label Methods Unlabeled data point에 label을 달아주는 기법입니다 labeled data에서 벗어나는 샘플은 제대로 된 pseudo-label을

Naver Blog

패스트캠퍼스 환급챌린지 52일차 미션(3월 23일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

새로운 챕터에 들어간 기념으로 표지 변경! 오늘의 키워드(자세한 내용은 아래에) - Classification - Object detection - SVM(Support Vector Machine) - Cross validation <오늘의 강의정리> Classification feature를 뽑고 feature의 embedding space에서 decision boundary를 찾는 것 종류 Binary Classification : 2개 그룹으로 데이터를 분리하는 것 Multi-class classification : 여러 그룹으로 데이터를 분리하는 것 과정 object에서 대해 미리 지정된 class가 있습니다 Train data: classifier를 이미지, 라벨 조합으로 학습시킵니다 Testing data: 학습된 classifier로 이미지의 라벨을 예측합니다 Object Detection Detection = Localization + Classification SVM

Naver Blog

패스트캠퍼스 환급챌린지 53일차 미션(3월 24일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘의 키워드(자세한 내용은 아래에) - HOG(Histogram of Oriented Gradients) - Pedestrain Detection <오늘의 강의정리> HOG(Histogram of Oriented Gradients) 히스토그램 형태로 gradient의 방향성을 구합니다 이미지 gradient 정보를 사용해요 방향성이 사라지는 것을 방지하고 명확한 결과를 얻기 위해 gaussian smoothing은 하지 않습니다 색 정보를 사용할 수도 있지만 필요한 경우에만 사용해요 각 채널의 graedient를 계산하고 그 중에서 최대 gradient를 고릅니다 결과로는 gradient의 방향성과 magnitude를 모두 반영한 histogram을 얻게 됩니다 각 픽셀들에는 gradient magnitude로 weighted vote를 반영됩니다 주요개념 cell 8x8 image area를 의미합니다 orientation histogram 계산에 사용되는 unit area입니다

Naver Blog

[딥러닝 개념 8] MLP가 많은 데이터들을 학습하는 '진짜' 방법_SGD, Mini-batch, Epoch

여기서 다루는 키워드 - SGD(Stocastic Gradient Descent) - Mini-Batch - Epoch - Batch Size - Batch Gradient Descent 지금까지 신경망이 학습하는 방법을 살펴봤습니다 최적화 과정에서 Gradient Descent 방법을 사용하지요 그런데 GD라는 말은 거의 안쓰이고 SGD라는 단어를 더 많이(대부분 이 단어) 등장합니다 그 이유는 데이터의 양과 관련이 있습니다 신경망을 학습시킬 때는 굉장히 많은 데이터를 사용합니다 수천 수만 또는 그 이상일 때도 있지요 신경망 학습에 이 많은 데이터를 한번에 학습시킬까요? 한번에 모든 데이터를 학습시키면 한번에 끝나니까 이득이 아니냐! 싶지만 이 방법은 매우매우 비효율적입니다 지금까지의 예시처럼 3-4개의 데이터가 전체라면 한번에 계산하는 것이 이득입니다 그렇지만 수만개의 데이터를 한번에 연산시키면 너무 많은 연산이 필요하게 되어 컴퓨팅 문제가 발생합니다 그.래.서. 이 많은 데이터

Naver Blog

[딥러닝 개념 9] 신경망 구조의 문제점_Gradient Vanishing, Overfitting, Covariate Shift

여기서 다루는 내용의 키워드 - Overfitting(과적합) - Gradient Vanishing(기울기 소실) - Covariate Shift(공변량 변화) - Universial Approximation Theorem 지금까지 신경망구조의 학습방법과 최적화방법을 알아보았습니다 층 여러개 쌓고, 역전파로 학습을 하니까 이제 모든 것이 걱정없이 진행될 것 같지요? 여러개의 층(layer)을 붙여 만들어진 신경망구조는 크게 3가지 문제가 생길 수 있어요 첫번째는 Overfitting, 과적합 문제, 두번째는 Gradient Vanishing, 즉 기울기 소멸 문제이고 세번째는 Covariate Shift, 즉 공변량 변화 문제입니다 Overfitting(과적합) 사실 이 문제는 신경망 뿐 아니라 다른 문제에서도 중요한 문제입니다 Overfitting(과적합)은 학습데이터를 너무 잘 학습한 나머지 새로운 데이터는 제대로 판단하지 못하게 되는 현상을 의미합니다 학습한 데이터는 너무 잘

Naver Blog

패스트캠퍼스 환급챌린지 54일차 미션(3월 25일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘의 키워드(자세한 내용은 아래에) - Object detection - Box localization(object proposal) - Selective Search - EdgeBox <오늘의 강의정리> Object Detection은 object의 bounding box를 찾는 것이 목표입니다 single object classification classification + localization(object가 어디에 있는지 bounding box를 찾아줍니다) multiple object object detection: 이미지 한 장에서 여러 object를 찾아냅니다 각 object의 위치와 클래스 레이블을 찾아줍니다 instance segmentation: semantic segmentation + object detection 위치 localize와 segmentation mask도 따주는 역할을 합니다 Deep learning for Object Detection Obj

Naver Blog

패스트캠퍼스 환급챌린지 43일차 미션(3월 14일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

43일차 기록을 시작합니다 오늘의 봄 햇살은 너무 따뜻했어요 햇빛 잘 드는 곳에 누워있는 고양이들의 심정이 너무나 이해되는 날이었습니다 계속 따뜻했으면 좋겠다... 오늘의 키워드(자세한 내용은 아래에) - Data augmentation - Color transformation - Spatial Transformation - 다양한 augmentation 기법들 <오늘의 강의정리> Data Augmentation 학습 데이터의 개수를 늘리기 위해 샘플에 각종 변환을 적용하는 기법입니다 방식 Color transformation blur, jitter, noise 등과 같이 샘플의 색을 바꾸는 방식입니다 Spacial Transformation flip, rotation, crop 등과 같이 샘플의 위치를 바꿉니다 detection, segmentation 과 같은 로컬정보 추측 문제에서는 GT도 trainform해서 training 데이터에 넣어줘야 한다는 주의점이 있습니다 다양한

Naver Blog

패스트캠퍼스 환급챌린지 44일차 미션(3월 15일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘의 키워드(자세한 내용은 아래에) - GAN 기반 augmentation - Single image GAN - GAN-supervised Alignment <오늘의 강의정리> GAN 기반의 Data Augmentation GAN(Generative Advarsarial Networks) 원하는 모델의 distribution을 잘 학습하는 것이 목적입니다 Generative <-> Discriminative(지금까지 배운 모델들이 여기 해당) GAN을 사용한 augmentation을 사면 더 자연스러운 이미지에 대한 modality에 대해 augment 할 수 있습니다 GAN 기반 augmentation 사용한 사례 Medical Image augmentation GAN-based Synthetic Medical Image Augmentation for increased CNN performance in Liver Lesion Classification(NIPS 2017) 논문에서

Naver Blog

패스트캠퍼스 환급챌린지 45일차 미션(3월 16일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘의 키워드(자세한 내용은 아래에) - AutoML Base Augmentation - AutoAugment - PopulationBase Augment - Fast AutoAugment - Faster AutoAugment - Rand AutoAugment - UniformAugment - Trivial Augment <오늘의 강의정리> AutoML 기반 Data augmentation 이전 방법들 rule 기반 augmentation: augmentation 1개를 적용했어요 GAN 기반 augmentation: realistic한 이미지를 만들기 위해 학습된 GAN을 사용했어요 <1> AutoAugment RNN컨트롤러를 통해 augmentation policy를 뽑습니다 이후 네트워크를 학습시켜 validation accracy를 reward로 policy gradient를 사용한 강화학습을 합니다 과정 어떻게 학습할 것인지에 대한 trategy S를 정합니다 학습해서 va

Naver Blog

[딥러닝 개념 7] 최적화(Optimization) 알고리즘_Gradient Descent, Momentum, AdaGrad, RMSProp, Adam

여기서 다루는 키워드 - 최적화(Optimization) 알고리즘 - 미분 / Gradient(기울기) - Gradient Descent(경사하강법) - Local minimum / Global minimum - Momentum - AdaGrad - RMSProp - Adam 딥러닝에서는 '최적화'하는 것이 중요합니다 오늘은 '최적화'에 대해 다뤄보겠습니다 최적화(Optimization) 가능한 모든 해 중에서 최적의 해를 찾는 것을 의미합니다 목적함수 f(x)에 대해서(여기서는 손실함수를 의미합니다) 목적함수가 최소가 되게 하는 x를 찾는 작업이라고 생각하면 됩니다 최적의 값을 위한 방법으로는 2가지가 있습니다 함수의 형태와 수식을 알 때 사용하는 분석적 방법, 함수의 형태와 수식을 모들 때 사용하는 수치적 방법이 있어요. 1. 분석적 방법(Analytical method) 함수의 전체 형태와 수식을 알 때 사용하는 수치적인 해석방법입니다. 함수의 식을 안다면 미분을 하면 바로 최

Naver Blog

패스트캠퍼스 환급챌린지 46일차 미션(3월 17일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘의 키워드(자세한 내용은 아래에) - Unsupervised Learning - Self-Supervised Learning - Exemplar <오늘의 강의정리> Unsupervised learning 딥러닝 모델 학습을 위해서는 많은 레이블이 필요하지만 이런 레이블링 없이도 모델을 학습시키는 것이 필요합니다. 이를 Unsupervised learning이라고 하는데 하위에 self-supervised learning이 포함됩니다 예시 T-SNE: embedding visualization을 위한 차원축소를 의미합니다 Auto encode : latent space를 학습합니다 Self- Supervised Learning(SSL) 기존 모델의 단점 Supervised Learning: 레이블 데이터가 많아야 하고, 학습되지 않은 데이터를 잘 예측하지 못합니다 Reinforcement Learning: 실패해도 다시 시도하면 되지만 현실에서는 실패하면 치명적일 수 있어서 적용이

Naver Blog

패스트캠퍼스 환급챌린지 47일차 미션(3월 18일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

3월도 벌써 반이 지나갔습니다 내일 또 비가 온다고 하네요 비가 온 후에는 추워진다고 해요 그동안 따뜻했는데 아쉽습니다 이번에도 감기 조심해야겠습니다 오늘의 키워드(자세한 내용은 아래에) - Self-supervised learning -context prediction - jigsaw puzzles - Counting - Multi-tasks - Rotation prediction(RotNet) <오늘의 강의 정리> Pretext tasks기반 Self-supervised learning Context Prediction context prediction 을 통해 examplar의 단점을 해결하려한 방법입니다 3x3개의 패치를 뜯어서 가운데를 기준으로 1-8번을 할당하고 선택한 패치가 몇번째 패치인지 예측하도록 모델이 학습되었습니다 사람이 예측하기에는 어렵지만 machine을 학습시키면 이미지 전반의 representation을 배울 수 있습니다 한계 모델이 위치정보를 여러 방법(

Naver Blog

패스트캠퍼스 환급챌린지 48일차 미션(3월 19일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘의 키워드(자세한 내용은 아래에) - Contrastive Learning - NPID(Non Parametric Instance Discrimination) - MoCo(Momentum Contrast) <오늘의 강의정리> Contrastive Learning 기반 SSL Contrastive Learning이란 negative를 잘 학습하게 하여 이미지의 정보를 잘 추출하게 하는 것 Non Parametric Instance Discrimination(NPID) Class를 구분하는 것이 의미가 있냐는 의문을 제시한 방법입니다 Class를 구분하는 대신에 Instance-level discrimination을 하면 된다는 방법입니다 방법 Non paramametric softmax classifier 인스턴스 특성학습을 위해 feature vector v르,ㄹ 사용합니다 noise-contrastive estimation(NCE) NCE 형태의 contrastive loss를

Naver Blog

패스트캠퍼스 환급챌린지 42일차 미션(3월 13일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

42일차 기록을 시작합니다 햇빛이 굉장히 따스워요 이제서야 봄이 온 것 같습니다 그런데 아직도 바람은 좀 찹니다 영상 11도라는데 아직 춥습니다 따뜻한 봄은 4월은 되어야 오려나 봅니다 오늘의 키워드(자세한 내용은 아래에) - Unsupervised metric learning - t-SNE <오늘의 강의정리> Unsupervised Metric Learning 'Mining on Manifolds:Metric Learning without Labels (CVPR 2018)' 이 논문에서 제시된 방식입니다 Motivation 라벨이 없는 데이터로도 metric learning을 해서 embedding space를 만들 수도 있을 듯 기존 supervised metric learning으로 학습된 embedding space는 overfitting우려가 있다 제시한 방법 pre-trained embedding에서 라벨 없는 이미지 모음들로 fine-tuning을 합니다 manifold

Naver Blog

강화학습의 보상을 계산해보자_Q function, Bellman Equation

coursera에서 deep learning.ai Andrew Ng 교수님의 [Unsupervised Learning, Recommenders, Reinforcement Learning] 강의를 듣고 정리한 내용입니다 여기서 다루는 키워드 - State Action value function - Q function - Bellman Equation 이미 최적의 정책(optimal policy)를 가지고 있다고 할 때, 어떤 행동을 한 후에 최적의 정책에 따라 행동한 후 return값을 계산해주는 함수가 있습니다 그 함수를 State Action value function, 다른말로 Q function이라고 부릅니다 State action value function: Q(s, a) 사용자가 처한 상태(s), 그 상태에 할 수 있는 행동(a) 어떤 상태에서 어떤 행동을 했을 때, 최적의 정책에 따라 Return 값을 계산하는 함수입니다 Return값 계산 방법 state s에서 시작합니

Naver Blog

강화학습이 무엇인지 알아보자

coursera에서 deep learning.ai Andrew.Ng 교수님의 [Unsupervised Learning, Recommenders, Reinforcement Learning] 강의를 듣고 정리한 내용입니다 강화학습은 말 그대로 '강화'라는 학습입니다 스스로 학습을 통해 강화된다니 매력적이지 않나요 그래서 오늘부터 강화학습에 대한 정리를 시작하도록 하겠습니다 강화학습 예시로 시작해보기 < 거꾸로 비행하는 헬리콥더 > 강화학습의 예시로는 거꾸로 비행하는 헬리콥터가 있습니다 (아래와 같은 영상처럼 비행합니다. 15년전 영상이라서 화질이 그닥 좋지는 않습니다) 헬리콥터는 스스로 거꾸로 비행하는 방법을 터득했습니다 헬리콥터가 거꾸고 비행하는 방법을 어떻게 터득했느냐가 중요합니다 헬리콥터는 어떻게 거꾸로 비행하는 방법을 알았을까 (1) - 지도학습 첫번째로 사용할 수 있는 방법은 지도학습입니다 헬리콥더가 이런 위치에 있으려면 이렇게 조종하는 것이 이상적이다라고 알려주는 방식이지요

Naver Blog

패스트캠퍼스 환급챌린지 41일차 미션(3월 12일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

41일차 기록을 시작합니다 오늘은 비가 왔어요 매주 비가 최소 한번씩 오는 것 같은데 덕분에 가뭄이 들지는 않을 것 같습니다 오늘 비가 왔으니 내일은 춥겠네요 밖은 추운데 지하철에 들어가면 더우니 딱 감기걸리기 너무 적합한 상황입니다 자나깨나 감기조심하시길 바랍니다 오늘의 키워드(자세한 내용은 아래에) - Image clustering - Mahalanobis Distance - K-means clustering - EM 알고리즘 <오늘의 강의정리> Image Clustering Clustering이란? 데이터들의 특성을 고려해 데이터 집단( cluster)을 정의하고 데이터집단의 대표할 수 있는 대표점을 찾는 것을 의미합니다 feature extraction이 잘 되어 있어야 잘 작동합니다 구현: scipy 사용 Image clustering 방법 K-means, Mahalanobis distance, Unsupervised learning을 사용합니다 Mahalanobis dis

Naver Blog

강화학습에서 최대의 보상얻기_ state, action, reward, return, discount factor, policy

coursera에서 deep learning.ai Andrew Ng 교수님의 [Unsupervised Learning, Recommenders, Reinforcement Learning] 강의를 듣고 정리한 내용입니다 여기서 다루는 내용의 키워드 - State - Action - Reward - Discount factor - Return - Policy Mars Rover Example 로 알아보는 강화학습의 주요 개념들 화성탐사선이 특정 위치(상태, state)에 있다고 가정해요 탐사선이 갈 수 있는 위치는 6개이고 각 위치를 state라고 합니다 탐사선은 4번 위치(state 4)에 있습니다 1번 위치(state 1)에는 화성의 흥미로운 부분이 있지만 거리가 좀 멀어요 6번 위치(state 6)에는 관심은 있는데 그다지 흥미롭지는 않은 부분이 있어요. 그렇지만 가깝죠 탐사선이 1번 위치(state 1)가 더 가치있다고 판단하도록 하려면 보상(reward)을 많이 주면 됩니다 s

Naver Blog

[딥러닝 개념 6] 신경망은 어떻게 학습될까_ Feed Forward, Back Propagation

여기서 다루는 내용의 키워드 - 학습 - Feed Forward - Back propagation - 편미분 - 연쇄법식(Chain-rule) - Gradient Descent(경사하강법) - SGD(Stocastic Gradient Descent) - Mini-Batch - Epoch 여러 층(layer)을 쌓아서 만든 신경망이 어떤 문제점을 가지고 있는지 알아보기 위해서는 먼저 신경망이 어떻게 학습을 하는지 알아야합니다 신경망의 학습 방법은 방향에 따라 2가지로 구분할 수 있습니다 신경망의 Input -> Hidden -> Output 순으로 진행되는 Feed Forward방식 Output -> Hidden -> Input 방향으로 진행되는 Back propagation 방식 이렇게 두 방식이 있습니다 두 방식 모두 행렬로 연산된다는 특징을 가집니다 Feed Forward와 Back propagation은 번갈아가면서 학습(training)을 진행합니다 학습과정을 간단하게 정리하

Naver Blog

패스트캠퍼스 환급챌린지 39일차 미션(3월 10일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

39일차 기록을 시작합니다 오늘은 일요일입니다 어김없이 매주 반복하는 말이죠 왜 내일은 월요일인가 내일은 날씨가 더 따뜻해진다고 합니다 그렇지만 아침과 저녁에는 춥겠죠;;; 감기 걸리기 잠 좋은 날씨입니다 아침에 나가는 저는 내일도 패딩으로 싸매고 나가야겠습니다 오늘의 키워드(자세한 내용은 아래에) - Landmark Recognition - DELF - Google landmark dataset - Dense localized feature extraction - Attention-based keypoint selection 오늘 사진, 유난히 뽀얗군요 <오늘의 강의정리> Landmark Recognition Visual place recognition과 같은 세팅입니다 그렇지만 더 많고 다양한 장소를 사용하지요 Large-scale image retrieval 기존의 instance-based image retrieval의 문제점 공통 규격 정립도 안되어 있음 데이터셋 수도 많이

Naver Blog

패스트캠퍼스 환급챌린지 40일차 미션(3월 11일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

드디어 40일차가 되었습니다 오늘은 다른 날과 특별한 점은 일차의 앞자리가 바뀌었다는 점이에요 앞자리가 '4'로 바뀌었습니다 이 챌린지가 얼마 남지 않았다는 것을 의미해요 마지막 스퍼트, 한 번 잘 내보겠습니다 어떤 것을 배우면 배울수록 그와 관련된 다른 것들도 배우고 싶어져요 이런 생각으로 듣겠다고 저장한 강의만 수십개... 이럴때마다 구독서비스를 신청한 것이 정말 신의 한수라고 생각하고 있습니다 (이 강의들을 하나씩 모두 샀다면... 내 통장은...) 언제 다 들을 수 있을지는 모르겠지만 최소한 일주일에 한개씩 도장깨기를 해야겠습니다 오늘의 키워드(자세한 내용은 아래에) - mAP(mean average precision) - AP(average precision) - AP Loss <오늘의 강의정리> mAP Mean Average Precision Average Precision을 '평균정밀도'라고 부르니 mAP는 '평균평균정밀도'이려나요... 이미지 retrieval 평가의

Naver Blog

패스트캠퍼스 환급챌린지 33일차 미션(3월 4일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

33번째 기록을 시작합니다 오늘부터는 새로운 챕터의 강의를 듣게 되었어요 새로운 챕터에 들어간 기념으로 표지 스타일도 바꿔보았습니다 곧 봄이고 그러니까 화사하고 밝은 스타일로 만들어봤어요 이번 챕터의 주제는 표현학습입니다 역시 이번 챕터도 만만치 않게 강의가 많습니다 열심히 들어서 얼른 마쳐봐야겠습니다 오늘의 키워드(자세한 내용은 아래에) - Representation Learning - Metric - Similarity - Classical metric learning - Euclidean distance - Mahalanobis Distance <오늘의 강의정리> Representation Learning 관련주제들 Metric Learning : 유사도를 어떻게 학습할 것인지에 대한 내용 Image clustering: 비슷한 데이터끼리 군집하는 것 Data Audgmentation Self-Supervised Learning / Semi-Supervised Learning

Naver Blog

[딥러닝 개념 5] Multi-Layer Perceptron(MLP)와 신경망 구조_Node, Edge, Layer, DNN

여기서 다루는 키워드 - MLP(multi-layer perceptron) - 신경망(Neural Network) - Node, Edge - Layer - Fully Connected Layer(Dense Layer) - 얕은 신경망(Shallow Neural Network) - 심층신경망(Deep Neural Network, DNN) Perceptron을 하나만 쓰는 단일 퍼셉트론을 저번에 다뤄봤습니다 단일 perceptron만으로는 해결못하는 문제가 많았어요 대표적인 것으로 논리게이트 중에서 XOR 게이트만 해도 단일 퍼셉트론으로 구현이 불가능했습니다 그래서 perceptron으로 논리게이트 구현할 때 XOR게이트 구현은 perceptron 2개를 사용했었지요 그때 이미 MLP의 개념을 사용했어요 (뭔 내용인지 궁금하면 아래 링크 참고) [딥러닝 개념 2] Perceptron으로 논리 게이트 구현하기(MLP의 필요성) 여기서 다루는 내용의 키워드 - Decision Boundar

Naver Blog

패스트캠퍼스 환급챌린지 34일차 미션(3월 5일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

34일차 기록을 시작합니다 오늘은 개구리가 깨어나는 날입니다 경칩이라는 것이에요 봄이 시작된다는 의미겠지만 오늘같은 날에 개구리가 깨어나면 다들 얼어버릴 것 같아요 봄이 왔지만 여전히 춥습니다 겨울옷 집어넣으려 했는데 한동안은 옷장 속에서 곱게 모셔놔야겠습니다 오늘의 키워드(자세한 내용은 아래에) - Deep Metric Learning - Siamese Network - Triplet Network - L2 normalization <오늘의 강의정리> Deep Metric Learning Deep Neural Network(DNN)을 사용하는 방식입니다 하나의 뉴럴 네트워크에 data representation과 decision maker가 있습니다 data로부터 representation을 학습합니다 레이어들을 지나면서 만든 feature를 classifier로 사용해서 decision making을 하는 특징을 가집니다 data representation함수인 f를 DNN을 학

Naver Blog

패스트캠퍼스 환급챌린지 35일차 미션(3월 6일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

기록을 시작한지 어느새 35일이 되었습니다 이정도 되었으면 반을 들었겠지! 싶었지만 아직 20%밖에 안들었다네요 지금들은 양의 5배를 들어야 완강이라니 하루에 듣는 양을 늘려야하나 진지하게 고민중입니다 그래도 뒤쪽으로 갈수록 재미있어지니까 더 들어야겠다는 다짐을 합니다 얼른 프로젝트하고 싶다! (라고 아직 개념도 다 못들은 사람이 외칩니다) 오늘의 키워드(자세한 내용은 아래에) - Sample Selection - Uniform Sampling - Distance weighted sampling - Margin-based loss <오늘의 강의정리> Sample Selection Deep metric learning 에서 sample selection은 중요합니다 Sample selection이 필요한 이유 두 쌍이나 세쌍씩을 봐야 하느데 데이터셋에서 이 모든 경우를 볼 수는 없어요 10개의 샘플에서 두 쌍씩 보면 일단 100번을 봐야 해요 세 쌍씩 보면 1000번을 봐야합니다 이렇

Naver Blog

패스트캠퍼스 환급챌린지 36일차 미션(3월 7일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

36일차가 되었습니다 오늘 강의를 끝으로 metric learning 강의를 모두 완료하게 되었습니다 내일부터는 새로운 주제의 강의를 듣게 되겠군요 요즘들어 날씨가 잠으로 변덕스럽습니다 평일에는 따뜻한 편인데 주말에는 너무 추워요 이 루틴이 매주 반복되고 있습니다 주말에 추우니 실내 명소들에 사람들이 많겠네요 역시 집이 최고입니다 주말 내내 한발자국도 나가지 않아야겠습니다 오늘의 키워드(자세한 내용은 아래에) - Quadruplet Network - Quadruplet Rank Loss - Nearest Neighbor Search - DML Applications - Image Retrieval - Face Verification - Person re-identification - Online visual tracking - Unsupervised Representation Learning <오늘의 강의정리> Quadruplet Network 이전에 했던 triplet만으로는 re

Naver Blog

패스트캠퍼스 환급챌린지 37일차 미션(3월 8일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

37일차 기록을 시작합니다 오늘 지금까지 한 챌린지 중간점검 결과가 나왔는데 다행스럽게도 아직까지는 성공입니다 이렇게 반을 잘 왔으니 남은 반도 잘 해서 백프로 환급, 한 번 받아보겠습니다 어제로 metric learning의 개념들에 대한 강의를 모두 들었습니다 오늘부터 듣는 강의는 deep metric learning의 적용케이스들입니다 오늘의 키워드(자세한 내용은 아래에) - FaceNet - Image Retrieval - Deep metric learning benchmarks <오늘의 강의정리> Face recognition(FaceNet) 논문 " FaceNet: A unified embedding for face recognition and clustering", CVPR 2015 Motivation 사람이 같으면 correlation이 같아야하는데 포즈가 다르면 다른 사람으로 인식하게 됩니다 같은 사람이라는 similarity를 높이고 같은 포즈의 다른 사람이라면 s

Naver Blog

패스트캠퍼스 환급챌린지 38일차 미션(3월 9일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

38일차가 되었습니다 벌써 3월의 첫째주가 다 지나갔네요 주말은 매번 참 짧은 것 같습니다 날씨가 많이 따뜻해졌습니다 역시 봄이 온 것이 맞는 것 같아요 그렇지만 아침 저녁으로는 아직 많이 추우니 아직은 겨울옷을 넣으면 안되겠습니다 오늘의 키워드(자세한 내용은 아래에) - NetVLAD - Visual place recognition - VLAD - Place Recognition Benchmark <오늘의 강의정리> Visual Place Recognition 주어진 쿼리 이미지에 해당하는 위치의 이미지를 검색하는 것 동일한 장소이지만 각도가 다르거나, 시간대가 다르거나 등의 차이가 있어도 동일한 장소라고 찾아주는 방법입니다 검색시스템, 자율주행, AR 등에 적용됩니다 사용방법 Instance level image retrival방식을 사용합니다 예전에는 local descriptor를 사용했지만 여기서는 Iamge descriptor를 사용합니다 NetVLAD (CVPR 2016

Naver Blog

패스트캠퍼스 환급챌린지 27일차 미션(2월 27일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

벌써 27일이 되었습니다 이틀후면 2월이 끝나는군요 이번주에는 빨간 날도 있네요 별다른 일이 있지는 않지만 빨간날은 설레는 날입니다 그날엔 집에서 강의를 많이 듣도록 해야겠습니다 오늘의 키워드(자세한 내용은 아래에) - MobileNet-v1 - ShuffleNet - MobileNet-v2 - MobileNet-v3 <오늘의 강의정리> MobileNet-v1 (2017) EfficientNet 중 하나입니다 기존 CNN의 경량화를 위해 제안된 방법입니다 Depthwise-separable convolution을 사용합니다 channel-wise feature extractor와 spatial feature extractor 가 분리된 형태입니다 Depthwise convolution과 Pointwise Convolution을 합친 형태입니다 Separable convolution은 1x1 convolution입니다 다른 모델들과 비교했을 때 정확도도 향상되고 parameter수도

Naver Blog

패스트캠퍼스 환급챌린지 28일차 미션(2월 28일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘은 2월 28일입니다 그리고 28일차가 되었지요 기록을 시작한지 곧 한달이 됩니다 한달이 거의 채워졌다는 것이 좋기는 하지만 지금 가장 좋은 건 이틀후에 빨간날이 있다는 것입니다 금요일의 빨간날? 참으로 귀합니다 내일까지 잘 지내보도록 하겠습니다 오늘의 키워드(자세한 내용은 아래에) - Vision Transformer - Attention - Self-attention - Soft-attention - Hard-attention - Multi-head self attention - Cross attention - Stand-alone self sttention <오늘의 강의정리> Vision Transformer NLP(자연어처리)에서 시작되었지만 image task classification에서도 좋은 성능을 볼 수 있습니다 CNN 대체로 많이 사용해요 Attention block 을 사용해서 여러 채널을 쌓았기 때문에 convolution보다 넓은 영역을 볼 수 있게 되었습

Naver Blog

패스트캠퍼스 환급챌린지 29일차 미션(2월 29일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘은 2월 29일입니다 올해는 윤년이라 2월이 29일까지 있네요 4년 주기로 돌아오는 것이라서 다음 2월 29일은 4년 후에 보겠네요 내일은 드디어 빨간날입니다 빨간날은.. 늦잠을 잘 수 있어요 하루종일 집에 있을 수 있다니 너무나 좋습니다 집에서 transformer 부분을 모두 들어버리겠다는 크나큰 다짐을 합니다 오늘의 키워드(자세한 내용은 아래에) - Transformer - Attention is All you Need - self attention - multi-head attention - positional encoding <오늘의 강의정리> Transformer self-attention 구조를 중접해서 만드는 sequence modeling을 의미합니다 self-attention : 다른 position에 대해서 그 값이 얼마나 중요한지에 대해 자기 스스로의 weight를 계산할 수 있습니다 2017년에 발표된 'Attention is All you Need' 라는

Naver Blog

패스트캠퍼스 환급챌린지 30일차 미션(3월 1일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘은 3월 1일입니다 벌써 기록을 시작한지 30일이 되었네요 한달동안 꾸준하게 한 나, 꽤 기특해요 오늘의 키워드(자세한 내용은 아래에) - Vision Tansformer(ViT) - Transformer encoder - Patch Embedding - Position Embedding - Masked patch prediction <오늘의 강의정리> Vision Transformer(ViT) NLP에서 사용되던Transformer는 vision에서 Vision Transfer로 사용됩니다 Transfer와 차이점은 embedding을 16x16 words로 사용했다는 점입니다 2021년에 발표된 'An Image is Worth 16x16 word Transformers for Image Recognition at Scales'라는 논문에서 제시된 개념입니다 input token으로 이미지 patch의 linear embedding(learnable 1D position em

Naver Blog

패스트캠퍼스 환급챌린지 31일차 미션(3월 2일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

31일차 기록을 시작합니다 오늘은 날씨가 좋은 것도 아니고 그렇다고 안좋다고 할 수도 없는 날씨였어요 해가 쨍쨍한데 눈이 오는 날씨라니... 역시 날씨가 좋지 않을때는 집에 있는 것이 최고입니다 오늘의 키워드(자세한 내용은 아래에) - Swin Transformer - Shifted Window <오늘의 강의정리> Swin Transformer 2021년에 발표된 논문인 'Hierarchical vision transformer using shifted windows'라는 논문에서 제시된 방법입니다 인기있고 많이 사용되는 모델입니다 swin은 'shifted window'를 의미합니다 shifted window 기존의 방식과 다르게 window partitioning을 다른 형태로 잘라줍니다 기존에는 일정한 크기로 잘라줬다면 shifted window에서는 local window내의 visual 관계도 학습할 수 있도록 잘라집니다 구조 Linear Normalization -> W-

Naver Blog

패스트캠퍼스 환급챌린지 32일차 미션(3월 3일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

32일차가 되었습니다 그리고 오늘은 일요일입니다 벌써 내일이 월요일이라니 역시 주말은 시간이 너무 빨리갑니다 오늘을 기점으로 챕터3이 끝났습니다 한번씩 다 듣기는 했지만 아직 다 모르기에 다시 여러번 봐야겠습니다 내일부터 챕터4인 표현학습이 시작됩니다 그리고 새 챕터에 들어간만큼 새 표지를 가져와보겠습니다 오늘의 키워드(자세한 내용은 아래에) - Swin Transformer V2 - Post normalization - Scaled cosine attention - Continuous relative porition bias <오늘의 강의정리> Swin Transformer V2 2022년에 accept된 논문입니다(Swin Transformer V2 : Scaling Up Capacity and Resolution) Motivation 이미지 resolution이 더 크게 들어올 수 있고 기존의 모델을 fine tuning 했을 때 stable하지 않게 gradient가 흘러서

Naver Blog

[딥러닝 개념 4] 손실함수(Loss Function)_MSE, MAE, RMSE, Cross Entropy Error

여기서 다루는 내용의 키워드 - 손실함수 - 학습 - 회귀 - MSE(평균제곱오차) - RMSE(평균제곱근오차) - MAE(평균절대오차) - One-hot Encoding - Cross Entropy Error(교차 엔트로피 오차) 네트워크를 학습한 후에 네트워크로 예측한 결과와 정답이 얼마나 잘 맞는지 비교하기 위한 방법이 필요해요 정답에 최대한 가깝게 예측하는 것이 목적이니까요 그래서 이때 사용하는 것이 바로 손실함수입니다 손실함수(Loss Function)란? 네트워크의 출력값과 정답과의 비교를 해주는 함수입니다 학습 중에 얼마나 못하는지를 의미하기 때문에 값이 작을수록(0에 가까울수록) 좋습니다 지도학습(입력값에 대해 정답이 있는 학습)알고리즘에서는 반드시 필요한 함수입니다 정답과 예측값을 비교해야 하니까요 보통 미분 가능한 함수를 사용합니다 최적화 기법들이 미분을 기반으로 한 방법이 많기 때문입니다 최적화 기법들을 효율적으로 사용하기 위해 미분가능한 함수를 손실함수로 많이

Naver Blog

패스트캠퍼스 환급챌린지 25일차 미션(2월 25일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

벌써 25일이라니..... 2월이 다 가버렸네요 요즘들어 시간이 굉장히 빨리 지나가는 것 같습니다 하루가 24시간이 아니라 48시간이면 좋겠다는 생각이 더 많이 드는 오늘입니다 오늘의 키워드(자세한 내용은 아래에) - DenseNet - Channel-wise concatenation -SENet - Squeeze and excitation - EfficientNet <오늘의 강의정리> DenseNet Dnese Connection이 추가되어서 ResNet보다 효과적입니다 ResNet과 차이점 ResNet skip connection을 사용한 element wise addition DenseNet 더 많은 connection을 추가한 Channel wise cancatenation channel wise concatenation을 사용하면 정보자체가 보존되기 때문에 gradient flow가 유지되고 효율적 학습이 가능합니다 그리고 채널이 중첩되기 때문에 parameter가 많아지지

Naver Blog

[딥러닝 개념 3] 활성함수(Activation Function) _ 계단함수, Tanh, Sigmoid, Softmax, ReLU, Leaky ReLU, ELU, ReLU6

여기서 다루는 내용의 키워드 - 활성함수(Activation Function) - 비선형성(non-linear) - 계단함수 - Tanh - Sigmoid - Softmax - ReLU - Leaky ReLU - ELU, ReLU6 꼭 알아야 할 중요한 개념 중 하나가 바로 활성함수(Activation Function)입니다 계산된 최종값을 실제 결과로 출력할 때 얼마나 활성화시킬지 또는 활성화시킬지 말지 여부를 정해주는 역할을 합니다 활성함수는 퍼셉트론의 출력에 의미를 부여해주고 여러 layer(층)을 쌓았을 때 비선형(non-linear)성을 부여하는 함수입니다 만약에 활성함수를 사용하지 않는다면? 하나의 층을 지나면 wx+b 형태의 결과가 나오게 됩니다 그 다음 층에서는 이전층의 결과가 입력으로 들어가서 가중치가 곱해지고 bias가 더해집니다 그 다음층에서도 같은 과정이 반복되겠죠 활성함수 없이 이 과정이 반복되면 결국 ax+b 형태의 하나의 선형함수가 되어버립니다 열심히 층을

Naver Blog

패스트캠퍼스 환급챌린지 26일차 미션(2월 26일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘은 26일차입니다 행복한 월요일이네요^^ 어째 배우면 배울수록 해야하는 것이 더 많아지는 것 같다는 생각을 하며 오늘도 강의를 듣습니다 오늘의 키워드(자세한 내용은 아래에) - Efficient CNN - SqueezeNet - Shift - Active Shift - Quantization <오늘의 강의정리> Efficient CNN Small Model을 만들어낼 때 Efficient CNN이 필요합니다 Small Model은 적은 parameter를 가지고, 적은 계산량으로 비슷한 성능을 내는 모델을 의미합니다 Small Model의 장점 computing inference에 드는 에너지를 매우 줄여줍니다 data processing과 data gathering 방식을 적게 해서 상용화가 가능하게 만들었다는 특징이 있습니다 모듈을 업데이트 하려면 메모리, cpu, gpu operation이 필요합니다. Small model은 이런 업데이트가 빨리 되게 합니다 CNN 모델 전

Naver Blog

패스트캠퍼스 환급챌린지 22일차 미션(2월 22일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

벌써 22일차가 되었습니다 습관이 잡힌다는 21일이 무사히 지나갔습니다 이제는 습관이 잡혔겠죠(믿는다 내자신!) 오늘의 키워드(자세한 내용은 아래에) - Overfitting - Dropout - Weight Decay - Early Stopping - Finetuning - SGD - SGD variation <오늘의 강의정리> Overfitting training 데이터에 너무 fitting이 되어서 일반화가 되지 않는 형상 training data가 network parameter보다 많아야 overfitting을 피할 수 있어요(이론적으로...) 그렇지만 이미지만 해도 억이 넘는 parameter가 있는데 현실적으로 이보다 많은 데이터를 모으기는 쉽지 않습니다. 그래서 생각보다 overfitting이 잘 일어나는 거예요 그래서 overfitting을 피하기 위해 몇가지 조작을 해야합니다 Tricks to avoid overfitting Dropout 히든 레이어의 뉴런을 랜덤

Naver Blog

[딥러닝 개념 2] Perceptron으로 논리 게이트 구현하기(MLP의 필요성)

여기서 다루는 내용의 키워드 - Decision Boundary - 단층 퍼셉트론 - OR gate - AND gate - NAND gate - 다층 퍼셉트론 - XOR gate 앞서 얘기한 퍼셉트론으로 논리 게이트를 구현할 수 있습니다 단층 퍼셉트론으로 구현할 수 있는 게이트도 있고, 단층 퍼셉트론으로 구현할 수 없고 다층 퍼셉트론으로 구현할 수 있는 게이트도 있습니다 단층 퍼셉트론으로 OR gate, AND gate, NAND gate를 구현할 수 있고, XOR gate는 단일 퍼셉트론이 아닌 다층 퍼셉트론으로 구현할 수 있습니다 단일 퍼셉트론(퍼셉트론 1개)으로 구현할 수 있는 게이트 = 하나의 직선으로 분류할 수 있는 경우 OR gate 입력 중에서 한쪽이 true면 무조건 true가 되는 OR gate입니다. 퍼셉트론을 통해 주어진 입력을 분류하는 직선을 그을 수 있는데 이 직선을 Decision Boundary라고 합니다 AND gate 입력이 모두 참인 경우에만 참이 나

Naver Blog

패스트캠퍼스 환급챌린지 23일차 미션(2월 23일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

23일차 기록을 시작합니다 오늘은 금요일입니다 주말이 시작되기 하루 전이죠 주말은 매주 돌아오지만 올때마다 설렙니다 어제까지 펑펑오던 눈이 그치고 오늘은 하늘이 맑길래 봄이 오는가보다 했지만 날씨는 전혀 봄이 아니었어요 추워서 얼어죽는 줄 알았어요 그러니 3월까지는 다들 옷을 잘 입도록 해요 오늘의 키워드(자세한 내용은 아래에) - CNN Architecture - CNN - LeNet-5 - ImageNet - AlexNet - VGG <오늘의 강의정리> CNN 아키텍처는 INLVRC(ImageNet Large Scale Classification Challenge)에서 발전을 시작했어요 이 챌린지에서 2012년에 AlexNet이라는 아키텍처가 발표되었는데 AlexNet을 시작으로 딥뉴런 네트워크가 확 발전하게 되었어요 이전에는 20%가 넘던 에러가 AlexNet에 의해 16.4%로 확 낮아지게 되었어요 이후 CNN 이 더욱 발전하면서 더 복잡해진 구조의 모델들이 나타나게 되었고

Naver Blog

패스트캠퍼스 환급챌린지 24일차 미션(2월 24일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

어느덧 24일차가 되었습니다 이번주가 2월의 마지막 주말이더군요 시간이 정말 빨리가는 것 같습니다 벌써 3월이라니... 이러다가 올해도 후딱 가겠는걸요 주말이기도 해서 오랜만에 밖에 나가봤는데 사람이 정말 많았어요 너무 많아서 기가 빨리길래 아 얼른 집가서 강의나 들으라는 계시인가 싶어 빠르게 집으로 돌아왔습니다 역시 강의 듣는 것이 남는 겁니다 오늘의 키워드(자세한 내용은 아래에) - ResNet - Skip connection - Batch normalization <오늘의 강의정리> ResNet ResNet은 Neural Network를 깊게 만드는데 중요한 역할을 한 기법입니다 덕분에 더 큰 receptive fields 를 갖게 되었고 non-linearlity도 더 갖게 되었어요 AlexNet은 8개 레이어, VGG는 19개 레이어, ResNet은 152개 레이어를 가져요 깊은 네트워크가 가진 키존 문제들 Backward Gradient Vanishing 문제 Forwar

Naver Blog

패스트캠퍼스 환급챌린지 15일차 미션(2월 15일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

15일차 기록을 시작합니다 이번주는 월요일까지 휴일이었어서 그런지 생각보다 한주가 짧은 것 같아요 (아니 왜 벌써 목요일...) 이제 강의에서 이전 강의에서 들었던 개념들이 겹치고 있습니다 이렇게 반복적으로 보게 되니 더 이해가 잘 되네요 그렇지만 아직 수식 부분은 어렵습니다 수식 이해... 쉽지않아.... 오늘의 키워드(자세한 내용은 아래에...) - convolution - smoothing - gradient filters - padding - edge - corner - Harris corner detection 이제는 강의 들어면서 손필기를 하고 있는데 들으면서 쓰다보니 글씨가 영 별로입니다 들은 내용을 빨리 쓰다보니 글씨 상태가 영 좋지 않아요 나도 빨리 쓰면서 글씨도 잘쓰고 싶다... <오늘의 강의정리> Convolution Convolution 커널이 이미지의 각 픽셀과 곱해진 후 그의 합을 구하는 방식으로 convolution이 진행됩니다 Convolution연산 각

Naver Blog

패스트캠퍼스 환급챌린지 16일차 미션(2월 16일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

16일차 금요일입니다 오늘 강의의 주제는 blob입니다 이거 하나만?이라고 생각할수도 있지만 Blob은 이곳저곳에서 많이 보이는 개념인만큼 좀 많이 중요하기 때문에 하나의 주제에 오늘은 집중을 해보았습니다 강의가 점점 수식과 영어의 향연이 되어가고 있습니다 한국어 강의인데 영어강의인 그런 느낌이에요 한국어는 거의 거드는 수준입니다 주요 개념들이 모두 영어라서 어쩔 수 없는 것이겠죠 오늘의 키워드(자세한 내용은 아래에) - Blob - Gaussian - Laplace of Gaussian <오늘의 강의 정리> Blob 주변보다 밝거나 어두운 부분을 의미합니다 Blob detection 과정 smooth image Laplacian of Gaussian 또는 difference of Gaussian을 적용 최적의 크기(optimal scale)와 orientation parameters를 찾는다 예전에 했던 Edge Detection 방법 이미지에 Gaussian 필터를 동과시키면 e

Naver Blog

패스트캠퍼스 환급챌린지 17일차 미션(2월 17일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

17일차 기록을 시작합니다 고전적인 컴퓨터 비전 개념중에서 SIFT에 대한 강의를 들었습니다 SIFT는 굉장히 유명하고 인용도 많이 된 알고리즘이라고 해요 SIFT개념을 처음 들어본 저에 내용이 쉽지 않네요 (강의 듣고 난 나의 표정) 여러번 반복하며 보면서 이해하도록 노력해야겠어요 오늘 들은 거로는 이해도가 대략... 65% 정도 된것 같아요 강의가 거의 영어 단어를 한국어 조사로 이어붙이는 정도라서 이해가 더 어려운 것도 있는 것 같아요... 영어 단어를 좀 풀어서 말해주시면 좋겠다...는 저의 바램이었습니다 오늘의 키워드(자세한 내용은 아래에) - SIFT - Laplacian of Gaussian(LoG) - Difference of Gaussian(DoG) - keypoint filtering - Descriptor 오늘의 강의내용 정리는 제가 이해한대로 정리해보겠습니다 여러번 보고나서 모두 이해한 후에 추가 포스팅을 해보겠습니다 개념을 이해하고자 하는 저의 노력을 담은 필

Naver Blog

패스트캠퍼스 환급챌린지 18일차 미션(2월 18일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

벌써 2월 18일이 되었습니다 한달의 반이 모르는 사이에 벌써 지나버렸네요 오늘은 일요일입니다 내일은 새로운 한주가 시작되는 월요일이라니 시간이 새삼 빨리 지나간다는 느낌이 드네요 이번주가 유독 빨리 지나간 것 같은 느낌적인 느낌 아직은 고전적인 컴퓨터비전 이론 파트를 듣고 있습니다 고전적인 이론인데 어렵습니다... 이해가 어려워요... 아니 이런 이론들은 어떻게 생각하신걸까 싶은 생각이 들 정도로 저에겐 쉽지 않습니다 그래서 다른 강의도 병행해서 듣고 있어요 언제가 이해가 되기를 바랍니다... 일해라 내머리 오늘의 키워드(자세한 내용은 아래에) - model fitting - least square - RANSAC 오늘도 들은 이것이 영어인가 한국어인가 싶은 강의 풀어서 말해주시면 좋겠다는 생각을 오늘도 백만번 생각하면서 듣습니다 강의를 들으면서 필기의 아름다움까지 챙기는 것은 어렵습니다 알아볼 수 있으면 되지를 생각하며 오늘도 합리화를 합니다 <오늘의 강의정리> Model Fit

Naver Blog

패스트캠퍼스 환급챌린지 19일차 미션(2월 19일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

드디어 19일차입니다 오늘은 고전적인 컴퓨터비전 이론 강의들을 모두 마무리했습니다 (물론 다시 봐야하긴 하지만 드디어 1회독 완료!) 가끔 강의를 달려야겠다는 느낌이 드는 날이 있는데 그게 하필 오늘이었어요 게다가 딥러닝과 컴퓨터비전 파트로 넘어가고 싶은 마음도 들어서 4개 남은 강의를 모두 해치워버렸습니다 내일부터 새로운 주제가 시작된다는 것이 너무나 기쁘네요 오늘의 키워드(자세한 내용은 아래에) - Hough Transform - fitting - matching - image representation - visual representation - bag of words - spatial pyramid matching - classification <오늘의 강의정리> Hough Transform Fitting 기법 중 하나 1959년에 발표된 "Machine Analysis of Bubble Chamber Pictures" 논문에서 나온 기법입니다 Parameter space에

Naver Blog

패스트캠퍼스 환급챌린지 20일차 미션(2월 20일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘은 20일 드디어 딥러닝과 컴퓨터비전 챕터에 들어왔습니다 이전에 들어봤던 개념을 다시 듣게 되니 내용이 이해가 되면서 마음의 평화가 왔습니다 역시 복습이 최고입니다 오늘의 키워드(자세한 내용은 아래에) - Perceptron - Activation function - Gradient Descent - Chain Rule - Backpropagation - Multi-Layer Perceptron(MLP) - Loss Function - Stochastic gradient descent(SGD) - Momentum - Overfitting - Vanishing Gradient <오늘의 강의정리> Perceptron : Single Layer Neural Network를 의미합니다(층이 1개) 과정 0-255값을 가진 픽셀로 구성된 input이미지가 들어갑니다 (input modulating) weight와 bias로 계산이 되고 이를 통해 z가 만들어집니다 z값을 activatio

Naver Blog

[딥러닝 개념 1] Perceptron에 대해 알아보자

여기서 다루는 내용의 키워드 - Tensor - Perceptron - Bias(편향) - Weight(가중치) - Weight 업데이트 - 활성함수(Activation Function) - Perceptron 학습 본 내용으로 들어가기 전에 알아두면 좋은 기본 정보 딥러닝이란? 입력을 넣었을 때 수학적인 계산을 통해 결과를 예측하는 것을 의미합니다 수학적 계산을 할 때 weight(가중치), bias(편향)이 사용됩니다 딥러닝의 입력, 출력 값은 실수값이고 벡터로 표현됩니다 (벡터 = 여러개의 실수값의 쌍이고 각 실수값은 서로 다른 의미를 가지고 있습니다) Tensor - 벡터로 표현된 데이터들을 모아서 배열로 만드는데 이 배열들의 차원을 늘려 3차원 이상으로 늘린 것을 의미합니다 - tensor는 딥러닝의 입력으로 사용됩니다 Perceptron(퍼셉트론) : 신경세포를 이진 출력의 단순 논리 게이트로 해석해서 고안한 분류기입니다(인공뉴런입니다) (무려 1957년에 고안된 알고리즘

Naver Blog

패스트캠퍼스 환급챌린지 21일차 미션(2월 21일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

21일차 기록을 시작하겠습니다 오늘은 하루종일 눈과 비가 오네요 2월인데 날씨 실화인가... 눈비 덕분에 내일은 더 추워지겠어요 아직 봄이 되려면 멀었나봅니다... 오늘의 키워드(자세한 내용은 아래에) - CNN - Convolution Kernel - Convolution - Pooling Operations <오늘의 강의정리> CNN MLP(multi-layer perceptron)는 시작적 데이터(visual data, 이미지 비디오 등)에는 사용하기 적절하지 않아요 MLP는 fully connect layer를 가져요. 모든 입력들에 대해 fully connected 되어 있습니다. video나 image 데이터들은 차원이 커요. 그래서 MLP를 사용하게 된다면 w(가중치)의 개수도 거의 100만개에 육박합니다. over fitting도 잘 일어나고 낭비가 크죠 해결책: Convolution kernel을 사용하면 됩니다 Convolution g = f * h 와 같은 형태로

Naver Blog

패스트캠퍼스 환급챌린지 8일차 미션(2월 8일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

8일차 기록 시작하겠습니다 내일부터 연휴이기 때문에 이를 기념하고자 강의 3개를 들었습니다 오늘 강의의 내용은 CNN역전파, 컴퓨터 비전의 주요한 task 중에서 이미지분류와 객체검출입니다. CNN 역전파 부분은 따로 포스팅을 자세하게 해야겠습니다. 계산이 들어가는 과정을 한땀한땀 손으로 해봐야겠습니다 .그래서 이 포스팅에서는 CNN 역전파에 대해 간략하게 다룹니다 역전파에 대한 자세한 내용은 조만간 올려보겠습니다 오늘의 키워드(자세한 설명은 아래에) - CNN 역전파 - 이미지분류(image classification) - 객체검출(object detection) - YOLO 오늘의 수강인증 사진으로 내용정리를 시작해보겠습니다 <오늘의 강의정리> CNN 역전파 가중치를 업데이트하기 위해 하는 과정 loss가 감소하는 방향으로 가중치를 업데이트 할 수 있게 되는 것이 이 과정의 목적입니다 자세한 내용은 계산과정 포함해서 따로 올릴 예정... Computer Vision Task 몇가

Naver Blog

패스트캠퍼스 환급챌린지 9일차 미션(2월 9일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

9일차 학습기록 시작합니다 오늘은 설 연휴 첫번째 날입니다. 게다가 금요일이죠! 평일에 빨간날이 얼마만인지 설레여하다가 강의를 오늘을 건너뛸까하는 유혹이 들었지만 환급을 생각하며 오늘도 정신을 부여잡고 강의를 듣습니다 오늘의 강의주제는 computer vision task 중에서 중요한 객체추적과 영역분할입니다 오늘의 키워드(자세한 내용은 아래에) - 객체추적(object tracking) - 영역분할(segmentation) <오늘의 강의정리> 객체추적(obect tracking) object detection 이미지가 주어졌을 때 오브젝트가 위치하는 bounding box를 찾는 task가 수행됩니다 그 bounding box가 해당하는 class classification task가 수행됩니다 object tracking은 object detection에 object id 예측까지 포함됩니다 오브젝트의 클래스가 같아도 다른 오브젝트로 판단해서 id를 부혀앻요 어떤 오브젝트가 어

Naver Blog

패스트캠퍼스 환급챌린지 10일차 미션(2월 10일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

드디어 10일차를 돌파했습니다 오늘은 진정한 새해라고 할 수 있는 설날입니다 설날답게 착실하게 확대되고 있는데 나중의 내 자신이 감당할 수 있을 것이라 믿어 의심하지 않기에 맘놓고 확대되고 있습니다(감당가능한거 맞나...) 이번에 들은 강의의 내용은 이미지전처리입니다. 이 강의까지 듣고 나니 CNN개론 강의가 딱 3개가 남더군요 내일이면 CNN 개론부분은 끝날 것 같아서 기쁘기 그지 없습니다 (그렇지만 남은 강의 하나의 길이가 20분이 넘는다는 사실...) 사실 오늘은 이미지 전처리까지 들으려고 했는데 하나만 듣기에는 양심이 굉장히 없는 것 같으므로 부록으로 딸려있는 파이썬 기초 강의들도 몇개 들었습니다 이게 또 오랜만에 보니까 갑자기 기억이 안나는 것도 있더라구요 항상 기초가 중요하므로 꾸준하게 기억을 잃지 않게 들어줘야겠습니다 오늘의 키워드(자세한 내용은 아래에) - 이미지 전처리 -pre processing - post processing -opencv <오늘의 강의정리> 이미

Naver Blog

패스트캠퍼스 환급챌린지 11일차 미션(2월 11일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘은 드디어 CNN 개론 부분이 끝났습니다 계획한대로 CNN 개론이 끝나서 다행이네요 내일부터는 컴퓨터 비전 이론 강의를 시작할 수 있다니 아주 기쁩니다 (자축!) 자 그래서 오늘은 어떤 강의를 들었냐면 '데이터불균형, 오버피팅, 이미지증강' 이렇게 3개를 들었습니다 이 세가지 주제 모두 아주 중요한 기본개념이라서 무려 한 강의가 20분이 넘어요 그만큼 다루는 내용이 많았습니다 오늘의 키워드(자세한 내용은 아래에) - 데이터불균형(Imbalance) - oversampling - Focal loss - 오버피팅(Overfitting) - 이미지증강(Augmentation) - GAN <오늘의 강의 정리> 데이터불균형(Imbalance) 데이터가 클래스 별로 분류되어 있는데 특정 클래스의 데이터 양이 다른 클래스 데이터 양과 현저하게 다를 때를 의미합니다 만약 클래스1, 클래스2가 있는데 클래스1의 데이터가 99%, 클래스2의 데이터가 1% 있다고 해볼게요 이 데이터로 학습한 모델의

Naver Blog

패스트캠퍼스 환급챌린지 12일차 미션(2월 12일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

드디어 설날 마지막 연휴입니다 월요일 연휴는 귀하죠... 내일부터는 다시 일상으로 돌아가야 한다는 사실이 아쉽기는 합니다 오늘부터는 컴퓨터 비전 부분 강의를 듣기 시작했어요 이 부분에서 배우게 될 내용에 대한 간단한 overview와 필수적인 선형대수 개념들에 대해 살펴보는 내용의 강의입니다 오늘의 키워드(자세한 내용은 아래에..) - linear algebra - 벡터 - matrix - determinant - Eigen Decomposition 오늘의 수강인증 사진.. <오늘의 강의정리> Overview 컴퓨터 비전 강의는 9개 파트로 구성된다는 점 컴퓨터 비전이란? 인간이 인지하는 시작적 정보를 기계도 인지하도록 알려주는 것 컴퓨터 비전에서 센싱하는 방법 카메라, 폰, 다양한 센서들(카메라 센서, 레이더 센서 등), 3차원 정보를 알려주는 depth 카메라, 의료영상 촬영장비 등등등 컴퓨터 비전의 application(여러개가 있지만 그중에서 몇개만) Visual Locali

Naver Blog

패스트캠퍼스 환급챌린지 13일차 미션(2월 13일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

휴일이 끝난 후 처음 맞는 평일입니다 벌써 13일차가 되었네요 아직 컴퓨터 비전 이론에 들어가기 전에 알아둬야 할 기본 지식들에 대한 강의를 듣고 있습니다 아무래도 뒤쪽 강의들과 순서 상관없이 혼합해서 들어야 할 것 같아요 기본지식들도 중요한데 얼른 본론에 들어가고 싶은 마음이랄까요 듣는데 순서는 상관없으니 내일부터는 뒤에 강의도 들어야겠습니다 오늘의 강의는 probability 와 OpenCV. matplotlib, PIL에 대한 내용이었어요 수학은 타이핑이 어려워서 손 필기로 전향했습니다 이제 슬슬 실습 코드가 포함되어서 코드도 정리해서 올려야겠습니다 오늘의 키워드(자세한 내용은 아래에) - probability - random variable - Gaussian Distributions - OpenCV -Matplotlib - PIL <오늘의 강의 정리> Probability 사진을 찍으면 다양한 이유로 노이즈가 포함되고 불확실성이 생겨요 이런 불확실성을 수치화할 때 확률을 사

Naver Blog

패스트캠퍼스 환급챌린지 14일차 미션(2월 14일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘은 14일차입니다 컴퓨터비전 기본개념들 강의를 듣다가 오늘은 주제를 바꿔서 고전적인 컴퓨터비전 주제를 들었어요 컴퓨터비전의 기초가 되는 개념들만 듣다보니 흥미가 약간 떨어져서 주제를 바꿔보았습니다 새로운건... 재미있으니까요... 새로운 주제를 들어보니 또 흥미가 막 돋네요 역시 주제를 바꿔서 들어줄 필요가 있는것 같아요 오늘의 키워드(자세한 내용은 아래에....) - Local Image Features - Interest Point - Saliency - Locality - Repeatability 오늘의 수강인증 사진 역시나 항상 그랬듯 익숙한 구도의 사진입니다 <오늘의 강의정리> Local Image Features Image Features 는 "우리가 관심있는 부분"을 의미합니다 많은 컴퓨터 비전 알고리즘의 시작점이라고 할 수 있어요 Bounding box 찾는 object detection이나 object discovery task 에서는 local feature로

Naver Blog

패스트캠퍼스 환급챌린지 3일차 미션(2월 3일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘은 강의 듣기 시작한지 3일차가 되었고 2월의 첫 주말입니다. 주말에는 모름지기 강의를 몰아쳐야하기 때문에 딥러닝 개론부분을 거의 다 들어버렸습니다. 강의를 다 들었다는 체크표시가 늘어가는게 기분이 좋습니다. 이번 포스팅부터는 표지를 추가해봤어요. 대표이미지가 어두컴컴한 사진이면 좀..그렇기 때문이죠 오늘 들은 내용은 지도학습/비지도학습, 선형회귀, 신경망, 가중치 행렬, 경사하강법입니다. 그렇지만 이 포스팅에서는 지도학습/비지도학습과 선형회귀 내용만 정리할거예요. 나머지 내용은 다른 페이지에 정리해야겠습니다. 한페이지에 모두 넣기엔 너무 길어서 그래요(귀찮은거아님. 암튼 아님) 오늘 강의에서 강사님의 열정이 담긴 강의자료 기념샷 한번 찍어주고요 집중력을 유지하면서 강의들으려고 오늘도 어김없이 타이핑을 옆에서 했습니다. 아무것도 안하고 가만히 앉아서 강의듣는 것... 너무나 힘든일이에요 <오늘의 강의정리> 지도학습과 비지도학습 지도학습이란? dataset = data + labe

Naver Blog

패스트캠퍼스 환급챌린지 4일차 미션(2월 4일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘은 일요일입니다. 내일은 월요일이죠 내일이 월요일이란 사실이 슬퍼 딥러닝 개론 부분의 강의를 모두 들었습니다 오늘 들은 강의의 주제는 '소프트맥스'와 '크로스엔트로피' 입니다 일단 가볍게 수강인증 사진 2장과 함께 정리를 시작해보죠 오늘도 강사님의 필기엔 열정이 넘치시네요 <오늘의 강의 정리> <소프트맥스> 출력노드가 1개일때(Regression과 같이 하나의 값을 예측하는 경우) 답 예측하면 끝! 그런데 출력노드가 2개이상이라면? 분류(classificiation)의 경우 클래스가 여러가지 입니다 이진분류(클래스가 2개인 경우)를 예시로 보죠 개/고양이 두 클래스에 대해 분류를 해봅시다 개인지 고양이인지 분류하기 위해서는 예측값이 2개(출력노드가 2개!) 나오게 되고 이중에서 더 높은 예측값을 가진 클래스를 답으로 합니다 이렇게 출력노드가 2개일때 cost는 어떻게 구할까? 예측값을 그대로 쓰면 문제가 생길 수 있기 때문에 확률값으로 변환을 해야합니다 예측값을 그대로 쓸 때 가

Naver Blog

패스트캠퍼스 환급챌린지 5일차 미션(2월 5일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

5일차 강의정리를 해보겠습니다 오늘부터는 CNN개론 부분을 시작했습니다 CNN부분부터는 내용이 저번보다는 조금 빡세지니까 마음의 평화를 위해 표지색을 초록으로 바꿨습니다 벌써부터 마음이 평화로워지네요 CNN개론 첫번째와 두번째 강의를 들었는데 어떤 내용이지에 대한 overview와 이미지필터에 대한 내용이 오늘 강의의 주제였어요 오늘 배운 내용 키워드(자세한 내용은 아래에) - CNN 개론 overview - 이 주제에서는 무엇을 배우는지 - 이미지파일의 정의와 특징 - grayscale 이미지 -컬러스케일 이미지 - 이미지필터 오늘도 어김없이 수강인증 사진 2장과 함께 내용정리를 시작합니다 <오늘의 강의정리> CNN 개론 Overview 무엇을 배우나 이 부분에서는 합성곱 연산에 대한 내용을 다룹니다 신경망 입장에서 컨볼루션 연산을 이해하면 되는지에 대한 설명이 주를 이룹니다 컴퓨터 비전 영역에서 가장 활발하게 사용되는 대표적인 task 4개를 다루고 빈번하게 발생하는 문제점과 해

Naver Blog

패스트캠퍼스 환급챌린지 6일차 미션(2월 6일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘도 어김없이 다시 돌아왔습니다 6일차 챌린지, 시작합니다 오늘의 주제는 "합성곱(convolution)연산" 입니다 convolution은 옛날 옛적에 전공 강의 들을 때 아주많이 중요한 개념이라고 못이 박히게 들었던 녀석입니다. 항상 시험문제에 나왔던.... 그래서 계산을 해야했던.... 그런 개념이죠 강의에서 다시 들으니 새삼 반갑군요 합성곱 연산은 2개의 강의로 나눠져있어서 오늘은 그 2개를 들었습니다 중요한 개념인만큼 강의도 2개로 되어 있네요 오늘의 키워드는 아래와 같습니다 오늘 강의의 키워드(자세한 설명은 아래에) - 합성곱(convolution) 연산 - filter - padding - stride 어김없이 수강인증 사진 2장으로 시작합니다 <오늘의 강의정리> 이미지를 어떻게 신경망에 입력할 수 있을까? 방법1: 이미지를 구성하는 픽셀을 일렬로 쫙 펴서 신경망에 넣어버리기 이 방법의 문제점 우리는 이미지를 픽셀 하나씩 보고 인식하는 것이 아니라 전체적인 모습을 보고

Naver Blog

패스트캠퍼스 환급챌린지 7일차 미션(2월 7일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

어느덧 수요일... 일주일의 반이 지나가고 있습니다 이번주는 설연휴가 있는 주라서 그런지 일주일이 참 빠르게 지나가고 있습니다 내일만 지나면.... 연휴라니! (입가의 미소) 그렇지만 연휴여도 일일 포스팅은 멈출 수가 없어요 얼른 개론부분 넘어가고 싶다! 그렇지만 중요하다!! 고로 연휴동안 강의를 많이 들어야겠습니다 집에서 뭐하겠어요 공부해야지 오늘 강의의 주제는 CNN입니다 Convolutional Neural Network의 약자인데 항상 늘 언제나 듣게 될 단어이기 때문에 익숙해져야 합니다 오늘의 키워드(상세한 내용은 아래에) - CNN - Feature Map - Channel - Max Pooling - Fully Connected Layer 오늘의 수강인증 사진과 함께 내용정리를 시작하겠습니다 < 오늘의 강의정리> Feature Map 이란? 입력에 변수(여기서는 가중치)로 구성된 필터(convolution filter)로 필터연산을 진행해서 생성된 것이 feature m

Naver Blog

패스트캠퍼스 환급챌린지 2일차 미션(2월 2일) : 한 번에 끝내는 컴퓨터비전 초격차 패키지 Online 강의후기

오늘은 2월 2일 환급강의 2일차입니다. 평일에는 할 일 모두 끝낸 후 저녁시간에 강의를 들다보니 아무래도 급히 듣는 감이 있네요. 이렇게 듣다가는 나중에 본 내용에 들어갈 때 시간에 쫓기는 험난한 인생을 살 것 같으니 아무래도 강의를 좀 더 일찍 들어야겠습니다. 새벽에 평화로운 마음으로 듣고 복습하는 것도 좋은 방법인 것 같아요. 내일은 주말이니까 평일보다 더 많이 들을 수 있겠습니다. 딥러닝 기초를 집중적으로 빠르게 듣는 것을 내일 목표로 잡아야겠어요. Chapter1 딥러닝 개론 부분을 반이상 들어보겠습니다(대충 하루종일 듣겠다는 말) 오늘은 딥러닝 개론에서 학습의 개념과 원리, 데이터셋 분할 부분을 들었습니다. 강의 내용을 아래에 정리했어요 오늘도 어김없이 한쪽 모니터에서 강의를 듣으며 반대쪽 모니터에 정리를 했습니다. 배속된 강의를 들으며 타이핑도 같이 하려니 내용을 놓칠 수 없어 점점 타자속도가 늘고 있습니다. 빠른 타자는 개발자에게 득이니 오히려 좋습니다 학습 머신러닝에

1 2