일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 프로그래머스 2차원동전뒤집기 파이썬
- 로지스틱 최대우도
- 자율성장 인공지능
- 딥러닝 가중치 갱신
- 프로그래머스 스타수열
- 프로그래머스 2차원동전뒤집기
- 카카오 메뉴리뉴얼
- 머신러닝 학습 검증
- 확률과우도
- 프로그래머스광고삽입
- 딥러닝파라미터
- 딥러닝학습
- 과적합방지
- 광고삽입 파이썬
- 프로그래머스
- 스타수열 파이썬
- 딥러닝
- AI경량화
- 모델경량화
- 데이터축소
- 인공신경망 학습
- 2차원동전뒤집기
- MLE
- 인공지능 경진대회
- 카카오 코테 메뉴리뉴얼
- 스타수열
- k겹 교차검증
- 비트마스킹
- 프로그래머스 누적합
- 메뉴리뉴얼 파이썬
- Today
- Total
목록ML.AI (14)
머신러닝 개발자의 러닝머신
최적화 알고리즘이란? 최적화 알고리즘은 딥러닝 학습과정에서 손실함수의 값을 최소화하는 함수로, 손실을 줄이기 위해 가중치 및 학습률과 같은 신경망의 속성을 변경하는 데에 사용된다. 모델의 가중치를 어떻게, 얼마나, 언제 변경하는 지를 함수에 따라 결정한다. 다음과 같이 다양한 최적화 알고리즘이 있으며 각각의 작동, 장단점을 이해하고 사용하는 것이 중요하다. Adagrad Adam Momentum Nestrov Accelerated Gradient(NAG) RMSProp Gradient Descent Stochastic Gradient Descent(SGD) Mini Batch Stochastic Gradient Descent (MB-SGD) SGD with momentum 1. Adagrad Adagra..
모델 경량화란? 모델 경량화는 모델의 정확도 손실(accuracy loss)을 기존 모델 대비 최소화하면서 모델의 크기와 연산량을 줄이는 기술이다. 이를 통해 요구되는 메모리와 에너지, 연산량을 줄여 학습, 추론의 효율성을 높인다. 모델 경량화의 필요성 딥러닝 네트워크가 매우 깊은 layer의 구조와 수백MB를 넘는 많은 파라미터를 가지기 때문에 학습 과정뿐만 아니라 추론 시에도 많은 양의 연산이 필요하다. 이는 실시간 처리가 필요한 응용 애플리케이션, 모바일 환경, 온디바이스 등과 같이 사용 가능한 자원에 제한이 있는 경우 필요한 자원이 부족한 경우가 있다. 이러한 경우에 더 적은 연산량으로 추론할 수 있도록 해야 한다. 1. Neural Network Pruning (가지치기) Neural Netwo..
인공 신경망(Artificial Neural Network, ANN)이란? 인공 신경망은 사람의 되 속 뉴런의 작용을 본떠 패턴을 구성한 컴퓨팅 시스템의 일종이다. 쉽게 말해, 인공 신경망은 학습할 수 있는 수학적 모델로, 가중치를 적용한 방향성 그래프라고 생각하면 된다. 인간의 뇌 기본 구조인 퍼셉트론에서부터 다층 퍼셉트론인 다층 인공 신경망까지 인공 신경망에 포함되는 개념이다. 퍼셉트론(Perceptron) 인공 신경망 퍼셉트론 인공 신경망은 가장 단순한 유형의 인공 신경망으로, 다수의 입력으로부터 하나의 결과를 내보내는 알고리즘이다. 퍼셉트론의 구조는 다음과 같으며 x는 입력값, w는 가중치, y는 출력값이다. 입력값 x는 각각의 가중치 w와 함께 인공 뉴런에 전달된다. 이때, 각각의 입력값에 각각..
인공지능이란? 인공지능(Artificial Intelligence)은 인간의 지능을 모방하여 사람이 하는 일을 컴퓨터가 할 수 있도록 하는 모든 기술을 포괄하는 기술로, 학습, 문제 해결, 패턴 인식 등과 같이 주로 인간 지능과 연결된 인지 문제를 해결하는 데 주력하는 컴퓨터 공학 분야이다. 인공지능의 하위 분야로 머신러닝과 딥러닝이 있으며 인공지능, 머신러닝, 딥러닝의 관계는 다음 그림과 같다. 머신러닝이란? 머신러닝은 컴퓨터가 스스로 학습하여 인공지능의 성능을 향상시키는 기술로, 컴퓨터가 스스로 대용량의 데이터에서 지식이나 패턴을 찾아 학습하고 예측을 수행하는 것이다. 이때, 머신러닝은 주어진 데이터를 인간이 먼저 처리해 학습시킬 특성을 추출해야한다는 특징이 있다. 이렇게 사람이 직접 추출한 데이터의..
행렬이란? 행렬은 벡터를 원소로 가지는 2차원 배열로, 행벡터를 원소로 가지는 2차원 배열이다. 행렬끼리 같은 모양을 가지면 덧셈, 뺄셈, 성분곱 연산을 수행할 수 있다. 전치 행렬 전치행렬이란 행과 열의 원소가 서로 바뀐 행렬을 의미한다. 행벡터 열벡터 서로 맞바뀌게 된다. 행렬의 곱셈, 뺄셈, 성분곱 행렬의 덧셈, 뺄셈, 성분곱 연산은 두 행렬의 모양이 서로 같아야 한다. 이때, 연산은 동일한 위치의 원소끼리의 덧셈/뺄셈/곱셈을 수행한 새로운 행렬 연산이 생성된다. 연산 전후의 행렬의 모양은 동일하다. 행렬의 곱셈 행렬의 곱셈은 각 행벡터와 각 열벡터의 내적을 성분으로 하는 연산을 수행한다. X*Y 연산을 수행하기 위해서는 X의 열의 갯수와 Y의 행의 갯수가 같아야 한다. 따라서, 행렬의 곱셈 연산 ..
벡터란? 벡터는 공간 상의 한 점을 나타내며, 원점으로부터 상대적인 위치(방향을 갖는다)를 의미함 숫자를 원소로 가지는 리스트(list) 또는 배열(array)로 나타낼 수 있음 벡터끼리 같은 모양(같은 차원, shape)을 가지면 덧셈, 뺄셈, 성분곱을 수행할 수 있음 이때, 차원이 다른 벡터끼리의 연산은 불가능-> 딥러닝 연산 시 종종 발생하는 에러, 차원에 주의하자 벡터끼리의 곱셈은 성분곱을 의미한다. 같은 위상의 성분끼리 곱셈한 새로운 벡터 생성 벡터의 스칼라 곱 양의 스칼라를 곱하면 벡터의 방향은 그대로, 길이만 바뀐다 이때, 1보다 작은 양의 스칼라를 곱하면 길이가 감소, 1보다 크면 길이가 증가한 형태로 변화한다 음의 스칼라를 곱하면 벡터의 방향이 반대로 바뀌고 길이도 바뀐다 벡터의 덧셈과 ..