전체 글

PS & Algorithm/Basics

[PS - Basics] 0. 유용한 Code 모음

Last update : 2023.06.27 # 기본 입출력 빠르게 하기 • import sys • input = sys.stdin.readline : 끝에 () 넣지 말 것!! • print = sys.stout.write : 끝에 항상 print(f'{}...{}...\n') 처리 - print가 무조건 string으로 받고, 끝에는 \n 붙여야함! 정리하자면 1. input()보다는 sys.readline()을 쓰자. 2. 빈 리스트에 append()로 추가하는 것보단 입력 받을 개수 만큼 초기화된 리스트에 인덱스를 이용해서 접근해서 그 위치에 직접 입력받자. 3. 줄바꿈 할때엔 print()가 아니라 '\n', for문 마다 출력하지 말고 문자열 변수에 저장해놓고 한 번에 출력하자. # lambd..

AI Fundamentals/11기 - Let's AI 2023

[Let's AI] 3-4. Optimization

1. Gradient Descent 2. Important concepts in optimization 1) Generalization iteration이 늘어날수록 training error는 감소하지만 그것이 최적값이라는 보장은 없음 Gerneralization Gap = test error(학습에 사용하지 않은 데이터에 대한 error) - training error(훈련시키는 과정에서 발생하는 error) Gerneralization performance 가 높다 = gerneralization gap이 적음 2) Underfitting vs Overfitting overfitting : training data에 대해서는 잘 동작하지만, test data에 대해서는 잘 동작 X underfitt..

AI Fundamentals/11기 - Let's AI 2023

[Let's AI] 3-3. 뉴럴 네트워크

1. Neural Network 인간의 뇌를 모방하고, 뉴런의 동작 방법을 모방해서 Neural Network를 구현할 필요는 없다. 현재 Neural Network의 동작 방법, 연구 트렌드 : 인간의 뇌를 모방해서 잘된다가 아니라, 왜 잘됐는지를 모델 자체만을 놓고 수학적으로 분석하는게 맞는 방향 2. Neural network = function approximators (비선형 연산이 반복적으로 일어나는 함수 근사하는 모델) 3. Linear Regression Goals = 입력이 1차원이고, 출력이 1차원인 문제가 있을 때 : Loss function을 최소화시키는 직선을 찾는 것 2개의 parameter (기울기 weight , 절편 bias)를 찾는 문제 Loss : squared loss..

AI Fundamentals/11기 - Let's AI 2023

[Let's AI] 3-2. 딥러닝 학습방법 이해하기

1. Neural Network (Nonlinear model) 신경망은 선형모델과 활성함수(activation function)를 합성한 비선형모델(함수) Row Vector(행 벡터) 기준으로 해석 : 하이라이트된 부분끼리 Row Space 행렬 연산 Row Space 행렬 연산 : 결과 행렬의 row 개수 = 왼쪽 행렬의 row 개수 왼쪽 행렬의 row를 하나씩 꺼내서 계산 후 다시 삽입 vector * matrix 연산 수행 : 각 vector의 element를 오른쪽 Matrix의 Row에 분배해서 합하기 각 화살표마다 W_dp가 곱해진다 : X_d 에서 O_p로 향하는 화살표를 W_dp에 대응시킨다 2. Softmax Function 소프트맥스(softmax) 함수는 모델의 출력을 확률로 해석..

AI Fundamentals/11기 - Let's AI 2023

[Let's AI] 3-1. Gradient Descent

1. 미분 - Why: 변수의 움직임에 따른 함수값의 변화를 관찰하기 위해 사용 - What : 함수 f의 점 (x,f(x))에서의 접선의 기울기 - When : 함수값을 증가(함수를 최대화) : x + f'(x) -> concave functioin에서 주로 이용 (gradient ascent) 함수값을 감소(함수를 최소화) : x - f'(x) -> convex functioin에서 주로 이용 (gradient descent) 2. Differentiation Introduction 3. Usage of differentiation 1) 함수값의 증가 : x + f'(x) -> Objective function을 최대화시킬 때 사용 2) 함수값의 감소 : x - f'(x) -> Objective fu..

AI Fundamentals/11기 - Let's AI 2023

[Let's AI] 2-6. 행렬이란?

1. Matrix(1) : 데이터를 저장 행렬 행렬은 vector를 원소로 가지는 2차원 배열 numpy에서는 row(행)가 기본 단위 : 행벡터를 원소로 가지는 2차원 배열 행(row, i)과 열(column, j)이라는 index를 가짐 : X = (x_ij) i번째 행과 j번째 열에 위치한 원소, i번째 행벡터의 j번째 원소 : x_ij 특정 행(열)을 고정하면 행(열)벡터라 부름 전치 행렬 Transpose : 행과 열의 index가 바뀐 행렬 행벡터 열벡터 행렬을 이해하는 방법 벡터가 공간에서 한 점을 의미한다면 행렬은 '여러 점'들을 나타냄 행렬의 행벡터 X_i는 i번째 데이터를 의미함 x_ij : i번째 데이터의 j번째 변수의 값을 의미함 2. Addition, Subtraction, had..

AI Fundamentals/11기 - Let's AI 2023

[Let's AI] 2-5. 벡터란?

1. Vectors 벡터는 숫자를 원소로 가지는 리스트(list) 또는 1차원 배열(array)입니다 수식 : 보통 열벡터로 처리 (column vector) 코드 : 보통 행벡터로 처리 (row vector) 벡터의 차원 : 벡터의 원소의 개수 (d) 공간에서 한 점을 나타냄 보통 기준점(원점)으로부터 상대적 위치를 표현 벡터에 숫자를 곱해주면(스칼라배) 길이만 변함 0보다 작으면 반대 방향이 됨 1보다 크면 길이가 늘어나고, 1보다 작으면 길이가 줄어듦 벡터끼리 같은 크기를 가지면 덧셈, 뺄셈을 계산할 수 있음 (same dimension) 벡터끼리 같은 모양(same size, same dimension)을 가지면 성분곱을 계산할 수 있..

AI Fundamentals/11기 - Let's AI 2023

[Let's AI] 2-4. 딥러닝의 역사

딥러닝의 역사 - A Brief Historical Review 1. AlexNet : CNN - 이미지를 분류하는 것이 목적 - Deep Learning이 실질적으로 성능을 발휘한 시점 : 이후 Paradigm Shift가 일어남 2. DQN - 알파고를 만든 알고리즘 (강화학습 : Q - Learning) - Google Deepmind 3.1 Encoder / Decoder - NMT(Neural Machine Translation)를 풀기 위한 방법론 - 언어로 되어 있는 문장(단어의 연속) -> 잘 표현해서 다른 언어로 되어 있는 문장 - 기계어 번역의 Trend 3.2 Adam Optimizer - Optimizer (Algorithm) : SGD, Adam 등 - Adam을 그냥 쓰는 이유 ..

AI Fundamentals/11기 - Let's AI 2023

[Let's AI] 2-3. 딥러닝이란?

1. Deep Learning Good deep learner 구현 실력 (Tensorflow, Pytorch) 수학 실력 (Linear Algebra, Probability Theory) 현재의 트렌드 (Recent Papers) 2. AI (인공지능) - 인공지능 : 지능형 기계를 만드는 과학이나 공학의 분야 / 인간의 지능(지적능력, 사고방식) 을 인공적으로 만든 것 - 머신러닝 : 기계가 데이터로부터 직접 학습해서 실행할 수 있는 알고리즘을 개발하는 연구분야 - 딥러닝 : 머신러닝의 방법론 중 하나 (비선형 정보처리를 수행하는 계층을 여러 겹으로 쌓아서 학습모델을 구현하는 머신러닝의 한 분야) -> 엄청나게 많은 데이터에서 중요한 패턴을 잘 찾아냄, 규칙도 잘 찾아내고, 의사결정을 잘하게 됨 3...

Jae.
Steady & Persistent