본문 바로가기
반응형

Ai7

Backpropagation 자동 미분법(Automatic differentiation): 모델을 연결하는 비순환 그래프(DAG)는 미분 가능한 함수들로 구성되어 있습니다. 따라서 미분의 연쇄법칙을 사용하여 자동으로 미분합니다. 과정: 각 노드에서 Jacobian-vector product을 계산합니다. 비순환 그래프(DAG) 역순으로 전파합니다. 장점: Gradient 를 손으로 직접 계산할 필요가 없어졌습니다. [front-end]와 [back-end]의 분리 [front-end] 비순환 그래프(DAG)를 만듬으로서 뉴럴넷(모델)을 디자인하는데 집중합니다. [back-end] 디자인 된 비순환 그래프(DAG)는 타겟 컴퓨터 장치를 위한 효과적인 코드로 컴파일됩니다. Framework 개발자들이 타겟에 맞춰 알맞게 구현하면 사용자.. 2022. 3. 28.
Optimization methods Loss 는 비순환그래프(DAG)를 거쳐 계산됩니다. 가설이 무수히 많기 때문에 모든 것을 다 시도해보고 최적인 것을 고를 수가 없습니다. 따라서, 일단 아무 곳을 선택한 후에 Loss 를 낮추는 방향으로 최적화를 진행합니다. 방법: Local, Iterative Optimization: Random Guided Search 장점: 어떤 비용함수를 사용해도 무관합니다. 단점: 차원이 작을 때는 잘 되지만, 차원의 저주 때문에 커질 수록 오래걸립니다. 샘플링(sampling) 에 따라서 오래걸립니다. Gradient-based Optimization: 미분을 통해 최적화 할 방향을 정합니다 장점: Random Guided search 에 비해서 탐색영역은 작지만 확실한 방향은 정할 수 있습니다. 단점: 학.. 2022. 3. 28.
Basic ML/DL Overview 알고리즘 vs 머신러닝 알고리즘: 어떤 문제를 푸는데 있어서 필요한 일련의 명령들입니다. 머신러닝: data-driven algorithm design 예전에는 문제가 주어졌을 때 해당 문제에 알맞는 알고리즘을 만드는 것이 일이었는데, 머신러닝에서는 실제로 문제를 특정하는 것 부터가 어렵습니다. 따라서 아래의 과정을 거칩니다. 대략적인 문제의 정의가 있습니다. 없을 때도 있습니다. 어떤 형태로든 데이터 훈련 샘플이 있습니다. 머신러닝 모델이 이 문제를 풀도록 훈련 시킵니다. 지도 학습에서 결정해야할 일 Provided N 개의 Input 과 Output 으로 구성된 훈련 샘플(Training Examples) D={(x​1​​,y​1​​),⋯,(x​N​​,y​N​​)} Loss Function: 머신러닝.. 2022. 3. 28.
Python Object Oriented Programming 객체 지향 프로그래밍 언어, Object Oriented Programming(OOP) - 객체 : 실생활에서 일종의 물건 - 속성(Attribute), 행동(Action)을 가짐 - OOP는 이러한 객체 개념을 프로그램으로 표현 - 속성은 변수(Variable), 행동은 함수(Method)로 표현됨 - 파이썬 역시 객체 지향 프로그램 언어 - 인공지능 축구 프로그램을 작성한다고 가정하면 - Object는 팀, 선수, 심판, 공 - Action은 선수가 공을 차다, 패스하다 - Attribute는 선수의 이름, 포지션, 소속팀 - OOP는 설계도에 해당하는 클래스(Class)와 실제 구현체인 인스턴스(Instance)로 나뉨 Objects in Python class SoccerPlayer(object).. 2022. 1. 24.
Python Data Structure 기본 데이터 구조 - 스택과 큐(Stack & quere with list) - 튜플과 집합(Tuple & Set) - 사전(dictionary) - Collection 모듈 Stack - 나중에 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조 - Last In First Out(LIFO) - '리포' 구조라고 읽음 - Data의 입력을 Push, 출력을 Pop이라고 함 - List(리스트)를 사용해서 스택 구조를 설계할 수 있음 - 리스트에서는 push를 append()로, pop을 pop()으로 구현 Quere - 먼저 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조 - First In First Out(FIFO) - '피포' 구조라고 읽음 - Stack과 반대되는 개념 - 파이썬은 리스트를 사용.. 2022. 1. 17.
Function and Console I/O > Function - 어떤 일을 수행하는 코드의 덩어리 - 반복적인 수행을 1회만 작성 후 호출 - 코드를 논리적인 단위로 분리 - 캡슐화 : 인터페이스만 알면 타인의 코드 사용 - 함수 선언 문법 : function name, parameter, indentation, return value(optional) - 함수 수행 순서 : 함수 부분을 제외한 메인 프로그램부터 시작 -> 함수 호출 시 함수 부분을 수행 후 되돌아옴 - parameter : 함수의 입력 값 인터페이스 Ex) F(x)에서 x를 의미함 - argument : 실제 parameter에 대입된 값 Ex) F(x)에서 x에 들어간 실제 값을 말함 - parameter 유무, 반환 값 유무에 따라 함수의 형태가 다름 > Console I.. 2022. 1. 14.
Introduction to Python > python의 시작 - 1991년 귀도 반 로섬이 발표 - 플랫폼 독립적 - 인터프리터 언어 - 객체 지향 - 동적 타이핑 언어 - 처음 C언어로 구현되었음 - 1989년 크리스마스에 할 일이 없어서 파이썬 개발 - 'Monty Python's Flying Circus' : 파이썬 이름의 유래 (코미디 그룹의 이름) - 창립자는 구글, DropBox, MS 근무 > python 특징 1) 플랫폼 = OS - 윈도우, 리눅스, 안드로이드, 맥OS, iOS 등 프로그램이 실행되는 운영체제를 플랫폼이라고 함 2) 독립적인 = 관계 없는, 상관 없는 - OS에 상관없이 한번 프로그램을 작성하면 사용 가능 3) 인터프리터 = 통역기를 사용할 수 있는 언어 - 소스코드를 바로 실행할 수 있게 지원하는 프로그램 .. 2022. 1. 14.
반응형