전체 글
-
[DL for VS #5] 컬러 이미지 합성곱 연산 실습Machine Learning/Deep Learning for Vision Systems 2023. 4. 12. 16:40
3.6 컬리 이미지의 합성곱 연산(3D 이미지) 컬러이미지는 R, G, B채널을 포함하기 때문에 28x28 크기의 이미지를 컴퓨터는 28x28x3크기의 행렬로 다룬다. 3.6.1 컬러 이미지를 대상으로 합성곱 연산하기 합성곱 커널을 입력 이미지 위로 이동시키며 특징 맵을 계산하면 되는데, 이제 커널도 채널이 추가되어 3차원이 되었다. *훈련데이터 : 모델을 학습하는데 사용하는 데이터 *검증 데이터 : 하이퍼파라미터를 튜닝할 때 훈련 데이터에 치우치지 않도록 하기 위한 별도의 데이터. 검증 데이터에서 학습한 내용이 모델 설정에 끼어들면 모델 평가가 편향된다. *테스트 데이터 : 모델의 성능을 최종 판단하기 위해 사용하는 데이터 *레이블 행렬 원-핫 인코딩을 적용해서 (1,n) 모양의 레이블 벡터를 (10,..
-
[DL for VS #4] CONV kernel, stride, padding, pooling, dropoutMachine Learning/Deep Learning for Vision Systems 2023. 4. 12. 16:33
3.1 다층 퍼셉트론을 이용한 이미지 분류 MNIST 예제를 이용할 것임. MNIST(Modified National Institute of Standards and Technology database) 손글씨 숫자들로 이루어진 대형 데이터베이스MNIST 데이터셋이 깔끔하고 완벽하게 전처리된 상태이기 때문에 MLP 성능(96%)과 CNN 성능(99%)이 비슷하다. 3.1.1 입력층 3.1.2 은닉층 전결합층(fully connected layer, FC = 밀집층, dense layer) 이전 층의 모든 노드가 각기 다음 층의 모든 노드와 연결된 것. 이런 신경망을 전결합 신경망(fully connected network)이라고 함. 노드와 노드를 연결하는 에지(edge)는 해당 노드의 출력에 대한 중요..
-
C 언어 기초#7 배열, 정렬, 탐색(순차탐색, 이진탐색), 다차원배열Programming 기초/C Language 2023. 4. 12. 01:20
*배열 동일한 타입의 데이터가 여러 개 저장되어 있는 데이터 저장 장소. int grade[배열의 크기] // 배열의 크기 >0 grade[배열의 순서] // 0= sizeof(grade)는 전체 배열의 크기, sizeof(grade[0]);는 배열 원소의 크기 *배열과 함수 1.배열 원소를 인수로 하여서 함수를 호출하면 복사본이 전달된다. 배열은 원본이 전달되지만 배열 원소는 복사본이 전달된다. 2..
-
C 언어 기초#6 함수와 변수, 가변매개변수함수, 순환함수Programming 기초/C Language 2023. 4. 11. 23:27
*함수 -> 반환형 함수이름 (매개변수1, 매개변수2) e.g) int add (int x, int y) { 함수 몸체 } c.f.) 타입이 동일한 두 개의 매개 변수를 선언할 때 변수를 정의하듯이 하면 오류가 발생한다. 즉 float형의 두 개의 매개 변수 x, y를 선언할 때 float x, y라고 하면 x는 float 타입으로 선언되지만 y는 타입이 없는 것으로 간주되어 int형으로 된다. -> 매개변수는 외부에서 전달되는 데이터가 저장되는 변수이다. *함수원형(function prototype) int compute_sum(매개변수1, 매개변수2); 함수 원형은 컴파일러에게 미리 함수에 대한 정보를 주어서 함수의 매개 변수 검사, 반환형 검사 등을 하게 하기 위한 것. //소수체크 프로그램 #de..
-
[DL for VS #3] 최적화 알고리즘-(배치, 확률적, 미니배치)경사하강법, 역전파 알고리즘Machine Learning/Deep Learning for Vision Systems 2023. 4. 8. 23:30
2.6.2 배치 경사 하강법(batch gradient descent, BGD) 1.경사 (경사=미분=기울기 ) 가장 가파른 방향을 찾는다. 3차원으로 생각해보면 여러 편미분값 중 가장 가파른(가장 큰 편미분값) 방향을 선정하는 것. 2.보폭(학습률 α) 학습률(learning rate)은 경사하강법 수행 중 가중치를 수정할 때 이동할 보폭에 해당. 가장 중요한 하이퍼파라미터 중 하나. 학습률 크면 신경망 학습 빠르게 진행(오차 함수의 언덕을 큰 보폭으로 내려가므로) 학습률이 너무 크면 보폭 사이에 골이 존재할 경우 오찻값이 진동(oscillating)하기만 할 뿐 감소하지 않는다. 학습률이 너무 작으면 학습 시간이 오래 걸림. 학습률은 0.1 또는 0.01을 초깃값으로 설정한 다음 추후 조정. 3.방향..
-
C 언어 기초#5 제어문 - if, switch, goto, while, for, continueProgramming 기초/C Language 2023. 4. 8. 19:38
*제어문(control statement) 조건문(if, switch, goto)과 반복문(while, for, continue)이 있다. *if문 참인 경우 실행됨. if(조건식) 예제) 문자를 입력받고 대문자, 소문자, 그 외 문자로 분류. #define _CRT_SECURE_NO_WARNINGS//scanf 사용하기 위한 정의. #include int main(void) { char ch; printf("문제를 입력하시오:"); scanf("%c", &ch); if (ch >= 'A' && ch = 'a' && ch = '0' && ch 조건문에 따른 continue의 동작 방식. 예제) 알파벳 소문자를 입력 받아 대문자로 바꿔주는 프로그램 #define _CRT_SECURE_NO_WARNINGS/..
-
C 언어 기초 #4 여러가지 연산자(증감, 복합대입, 형변환, 관계, 논리, 조건, 콤마, 비트단위)Programming 기초/C Language 2023. 4. 7. 22:05
*증감연산자 ++x -> 먼저 증가시켜 증가된 x의 값을 수식에 사용. x++ -> 수식에 현재 x 값 대입 후 나중에 x를 증가시킴. *복합대입연산자 *대입 연산시 자동적인 형변환 double f; f = 10; 10이 double형으로 변환된 후에 변수 f로 대입된다. 이러한 변환을 올림 변환(promotion)이라고 한다. int i; i = 3.141592; 3.141592가 정수형 변수에 대입되면 3으로 변환되어 저장된다. 이러한 변환을 내림 변환(demotion)라고 한다. -> 데이터의 손실을 야기함. (int형을 char형에 대입하면 내림 변환 발생. int형은 4바이트고 char형은 1바이트) *수식 연산시 자동적인 형변환 char형과 short형은 수식 계산시 cpu 연산 처리의 편의상..
-
[DL for VS #2] 순방향 계산 과정, 오차함수-평균제곱오차(MSE), 교차엔트로피, 오차와 가중치 관계(최적화 문제)Machine Learning/Deep Learning for Vision Systems 2023. 4. 7. 21:38
2.4.1 순방향 계산 과정 2.5 오차함수 비용함수(cost function) 또는 손실 함수(loss function)라고 불림. 신경망의 예측 결과가 바람직한 출력과 비교해서 얼마나 ‘동떨어졌는지’ 측정하는 수단. 손실값 크면 모델의 정확도가 낮다는 뜻. 2.5.2. 오차함수 필요성 최적화 문제와 관계됨. 최적화 문제는 오차 함수를 정의하고 파라미터(가중치)를 조정해서 오차 함수가 계산하는 오차를 최소가 되도록 하는 문제. 오차를 최소로 만드는 과정을 오차 함수 최적화(error function optimization)라고 함. 오차의 값은 항상 양수. 목표치에서 얼마나 떨어졌는지가 중요. 2.5.4 평균제곱오차(Mean Squared Error,MSE) 출력값이 실수인 회귀 문제에서 널리 사용하는..