본문 바로가기

취업준비

(68)
[AI Tech] 5주차 22-1차시 최적화의 주요 용어 이해하기 22차시: 최적화 - 1 22-1. 최적화의 주요 용어 이해하기 1. Introduction Gradient Descent(경사하강법) 일차 미분 값을 이용해서 미분 함수의 지역 최솟값을 찾는 알고리즘을 반복 최적화하는 방법이다. 편미분 값을 이용해 최적화를 시킨다. 2. Important Concepts in Optimization Generalization(일반화 성능) 얼마나, 학습된 모델이 학습하지 않았던 데이터에 잘 작동하는지 표현하는 값 Generalization gap = Test Error - Training Error Underfitting vs. Overfitting 학습 데이터에 잘 동작하지만 테스트 데이터에 잘 동작하지 않을 때 Overfitting이라고 한다. 네트워크가 너무 간단..
[AI Tech] 5주차 21-2차시 Quiz 8 21-2. Quiz 8 1번 다음 중 데이터 사이언티스트(Data Scientist)가 갖추어야 할 역량으로 적절하지 않은 것은? 1) 고정관념 2) 수학 및 통계학 역량 3) 도메인 지식 4) 프로그래밍 역량 더보기 정답: 1번 풀이 데이터 사이언티스트(Data Scientist)는 고정관념을 가지지 않는 것이 좋습니다. 2번 다음 중 딥러닝 알고리즘 모델의 종류로 올바르지 않은 것은? 1) DQN 2) ResNet 3) Transformer 4) XGBoost 더보기 정답: 4번 풀이 XGBoost는 딥러닝이 아닌 머신러닝의 알고리즘입니다. 3번 다음 의 설명 중 틀린 것은? 1) 기계학습은 경험을 통해 자동으로 개선하는 컴퓨터 알고리즘 중 하나이다. 2) 딥러닝은 해석이 쉽게 가능하다. 3) 딥러닝..
[AI Tech] 5주차 21-1차시 뉴럴 네트워크 - MLP 21차시: 딥러닝 기초 - 2 21-1. 뉴럴 네트워크 - MLP Neural Networks란? 인간의 뇌를 모방했기 때문으로 뉴럴 네트워크가 좋다는 설명도 있지만, 반드시 그런 것은 아니다. 굳이 인간의 뇌 구조에 빗대어 설명할 필요는 없는 것 같다. Ciément Ader's Avion III (1897): 새를 모방 Write Brothers (1903): 공기 역학을 이용 F-22 Raptor: 새와는 모습이 많이 달라짐 우리가 항상 날고 싶다고 해서 새처럼 만들 필요는 없다 → 뉴럴 네트워크도 시작은 인간의 뇌를 모방했을지라도 작금에서는 그럴 필요는 없다. 이미 구조가 많이 달라졌고, 올바른 방향은 수학적으로 증명하는 것이다. 비선형 연산이 반복적으로 이루어진 모델 = 뉴럴 네트워크 블록들이 ..
[AI Tech] 5주차 20-2차시 Historical Review 20-2. Historical Review Deep Learning's Most Important Ideas - A Brief Historical Review - Denny Britz 2020-07-29 2012 AlexNet CNN이고 224*224 이미지 파일을 분류하는 대회에서 우승했다. 약간의 패러다임 변화가 일어난 것이다. (기존에는 고전적인 모델들을 사용했다.) 2013 DQN 방법론 자체는 Q-learning에 딥러닝을 접목한 방법이다. 2014 Encoder / Decoder 이 방법은 NMT(Neural Machine Translation) 문제를 풀기 위해 개발되었다. 다른 언어로 되어 있는 문장을 우리가 번역하고 싶은 언어로 자연스럽게 변화시켜 주는 것 영어 단어의 sequence를 ..
[AI Tech] 5주차 20-1차시 딥러닝 기본 용어 설명 20차시: 딥러닝 기초 - 1 20-1. 딥러닝 기본 용어 설명 Introduction_ 한 사람이 딥러닝 분야를 다루기에는 너무 연구해야 할 것이 많다. 딥러닝은 여러 분야에서 연구되어 있다. 딥러닝 잘하는 기준!! 1. Implementation Skill: TensorFlow, PyTorch 등 2. Math Skill: Linear Algebra, Probability 등 3. Knowing a lot of recent Papers: 최근에 나온 많은 논문들을 알아보는 것 등 인공지능의 정의 사람의 지능을 모방하는 것 인공지능의 분야 안에 머신 러닝이 있다. 딥러닝의 핵심 요소 1) 모델이 학습하는 "데이터" 2) 데이터를 어떻게 바꿀지 정해는 "모델" 3) The loss function tha..
[AI Tech] 4주차 19-2차시 Quiz 7 19-2. Quiz 7 1번 z와 k가 다음과 같이 주어질 때, z를 x로 미분한 값으로 올바른 것을 고르시오. z = (k + 3)^3 k = (x + y)^2 1) 6((x+y)^2+3)^2(x+y) 2) 3((x+y)^2+3)^2(x+y) 3) 6((x+y)^2)^2(x+y) 더보기 정답 1번 정답 풀이 2번 다음 보기 중 신경망에서 활성함수가 필요한 가장 적절한 이유를 고르시오. 1) 수치 오차를 줄이기 위해서. 2) 계산복잡도를 줄이기 위해서 3) 비선형 근사를 하기 위해서. 더보기 정답 3번 3번 다음 보기 중 역전파(backpropagation) 알고리즘의 기반이 되는 것을 고르시오. 1) 연쇄 법칙 (chain rule) 2) 파레토 법칙 (Pareto principle) 3) 대수의 법칙..
[AI Tech] 4주차 19-1차시 베이즈 통계학 맛보기 19차시: 베이즈 통계학 맛보기 19-1. 베이즈 통계학 맛보기 오늘날 머신러닝 학습의 방법론적인 내용이다. 1. 조건부확률이란? 1) 베이즈 통계학을 이해하기 위해서는 조건부확률의 개념을 이해해야 한다. 조건부확률 P(A|B)는 사건 B가 일어난 상황에서 사건 A가 발생할 확률을 의미한다. 2) 베이즈 정리는 조건부확률을 이용하여 정보를 갱신하는 방법을 알려준다. A라는 새로운 정보가 주어졌을 때 P(B)로부터 P(B|A)를 계산하는 방법을 제공한다. 2. 베이즈 정리: 예제 사후확률(posterior): 데이터가 주어져 있을 때, 이 파라미터가 성립할 확률 사전확률: 데이터가 주어지지 않은 상태에서 \theta에 대해 가정하는 것 Evidence: 데이터 전체의 분포 COVID-99의 발병률이 10%..
[AI Tech] 4주차 18차시 통계학 맛보기 18차시: AI Math - 2 18. 통계학 맛보기 1. 모수가 뭐예요? 통계적 모델링은 적절한 가정 위에서 확률분포를 추정(Inference)하는 것이 목표이며 기계학습과 통계학이 공통적으로 추구하는 목표다. 그러나 유한한 개수의 데이터만 관찰해서 모집단의 분포를 정확하게 알아낸다는 것은 불가능하므로, 근사적으로 확률분포를 추정할 수밖에 없다. 데이터가 특정 확률분포를 따른다고 선험적으로(a priori) 가정한 후 그 분포를 결정하는 모수(parameter)를 추정하는 방법을 모수적(parametric) 방법론이라 한다. 특정 확률분포를 가정하지 않고 데이터에 따라 모델의 구조 및 모수의 개수가 유연하게 바뀌면 비모수(nonparametric) 방법론이라 부른다. 2. 확률분포 가정하기: 예제 확률..
[AI Tech] 4주차 17차시 확률론 맛보기 17차시: AI Math - 1 17. 확률론 맛보기 1. 딥러닝에서 확률론이 왜 필요한가요? 1) 딥러닝은 확률론 기반의 기계학습 이론에 바탕을 두고 있다. 2) 기계학습에서 사용되는 손실함수(loss function)들의 작동 원리는 데이터 공간을 통계적으로 해석해서 유도하게 됩니다. - 예측이 틀린 위험(risk)을 최소화되도록 데이터를 학습하는 원리는 통계적 기계학습의 기본 원리이다. 3) 회기 분석에서 손실함수로 사용되는 L2-norm은 예측오차의 분산을 가장 최소화하는 방향으로 학습하도록 유도한다. 4) 분류 문제에서 사용되는 교차엔트로피(cross-entropy)는 모델 예측의 불확실성을 최소화하는 방향으로 학습하도록 유도한다. 5) 분산 및 불확실성을 최소화하기 위해서는 측정하는 방법을 알..
[AI Tech] 3주차 15-3차시 프로젝트 6 15-3. 프로젝트 6 [프로젝트 6] 경사하강법 - numpy활용 1. 목표 v 경사하강법을 위한 데이터 분리 v 경사하강법 구현을 위한 train, weight, bias 정리 v 경사하강법 구현 2. 코드구현 1. 코드 구현: 경사하강법을 위한 데이터 분리 import numpy as np xy = np.array([[1., 2., 3., 4., 5., 6.], [10., 20., 30., 40., 50., 60.]]) ## 코드시작 ## x_train = ... # ... 에 알맞은 코드를 작성해보세요. y_train = ... # ... 에 알맞은 코드를 작성해보세요. ## 코드종료 ## print(x_train, x_train.shape) print(y_train, y_train.shape) ..