CS 70

[인공지능] MLP ( Multilayer Perceptron )

퍼셉트론은 선형적으로 구분 가능한 경우 유용하지만 그렇지 못하면 성능을 발휘하지 못한다. 이런 한계를 극복하고자 MLP(Multilayer Perceptron)가 등장했다. MLP ( Multilayer Perceptron ) 핵심 아이디어 1) 은닉층을 둔다. 2) 시그모이드(Sigmoid) 활성함수를 도입한다. 3) 오류 역전파(Back Propagation) 알고리즘을 사용한다. 1. 다층 퍼셉트론 ( 은닉층 ) 인공지능의 목적은 '특징'을 토대로 결과를 '예측' 및 '분류'하는 것이다. 기계학습은 '특징 추출'을 인간이 담당한다. 인간의 주관이 담긴 특징을 토대로 학습이 이루어지기에 인간의 사고 범위 내에서 학습이 이루어진다. 인공신경망은 특징추출을 직접한다. 스스로 이미지나 영상의 특징을 추출하..

CS/인공지능 2021.12.16

[인공지능] 퍼셉트론(Perceptron)

Warren McCulloch와 Walter Pitts는 1943년, 인공지능을 구현하기 위해 실제 인간의 뇌신경망을 구현하려는 시도를 한다. Frank Rosenblattt는 1957년, 최초로 수학적으로 정립된 신경망 모델을 제안하는데, 그것이 퍼셉트론(Perceptron)이다. 퍼셉트론 ( Perceptron ) 인간의 뉴런은 머리 부분에서 신호를 입력받고 처리한 뒤 꼬리 부분으로 출력한다. 이를 수학적으로 풀면 아래와 같다. 다양한 입력값을 받으면 가중치(w)를 곱한 후 모두 더한다(sum). 그리고 계단함수(f)의 변수로 sum을 넣어 f(sum)을 구한다. 계단 함수는 sum이 특정값(Θ)보다 크면 1이고 작으면 -1을 출력하는 함수이다. 내용이 어려우니 예를 통해 알아보자. EX) 개와 고양..

CS/인공지능 2021.12.14

[인공지능] 기계학습 ( 클러스터링 )

군집화 ( Clustering ) 주어진 데이터의 관계나 유사도만 의존하여 자연적으로 그룹화 하는 것 초기 군집(레이블)의 개수를 정하면 자연스럽게 군집화가 이루어짐 k-means 클러스터링 n개의 관측값을 k개의 클러스터로 분할하는 알고리즘 알고리즘 1. k개의 데이터를 랜덤하게 추출하여 중심(centroid)으로 삼는다. 2. 각 데이터가 k개의 중심 중 어떤 중심과 거리가 가까운지 계산한 후 레이블을 할당한다. 3. 레이블 할당이 완료되면 레이블 별 중심점을 계산하여 추출한다. 4. 2와3을 모든 데이터의 레이블(클러스터)이 바뀌지 않을 때까지 반복한다. k를 결정하는 방법 몇 개의 군집이 적절한지 알기 위해서 '팔꿈치 방법(elbow method)'를 사용한다. k를 1부터 증가시키며 클러스터링을..

CS/인공지능 2021.12.13

[인공지능] 기계학습 ( 분류기; Classifier )

분류기(Classifier)? 학습된 함수를 이용하여 데이터를 분류하는 프로그램 Support Vector Machine (SVM) 한 쪽 레이블에 치우치지 않고 여백을 최대로 하는 결정 경계(Decision Boundary)를 찾는 이진 분류기(Binary Classfier) - 서포트 벡터(Support Vector) : 결정경계로 부터 가장 가까이에 있는 학습데이터 kNN 알고리즘(k - Nearest Neibor) 기계학습알고리즘에서 가장 간단하고 이해하기 쉬움 새로 입력된 데이터의 특정 범주 안의 레이블 데이터의 개수에 따라 레이블을 판별 ( k의 값에 따라 레이블이 달라짐 ) 데이터 취득 -> 전처리 -> 특징 추출 -> 분류 및 회귀분석 ( 기계학습 알고리즘 )

CS/인공지능 2021.12.13

[인공지능] 기계학습 ( 경사하강알고리즘 )

[인공지능] 기계학습 (선형회귀) 지도학습이란? 과거의 정보를 가지고 모델을 만들어, 현재 데이터를 기반으로 미래를 예측하는 패턴을 추출하는 학습방법이다. ( 번호판 인식, 날씨 예측, 시장 예측 ) 지도학습에서 모델은 회 lordofkangs.tistory.com 지난 포스팅에서는 선형회귀를 다루어 보았다. 선형회귀는 특징공간(입력값, x)이 하나였다. (1차원) MNIST 인식하는 딥러닝 모델의 경우 784차원의 특징공간을 갖는다. 이처럼 특징공간이 무수히 클 때 손실함수의 최소값을 구하려면 편미분을 해야한다. 경사하강알고리즘 1) 목적 머신러닝의 목적은 ‘손실’을 줄이는 것이다. 손실이란, 실제 결과값과 예측값 사이의 차이를 의미한다. 주어진 데이터를 예측모델(퍼셉트론)에 입력했을 때, 출력된 예측..

CS/인공지능 2021.12.13

[인공지능] 기계학습 (선형회귀)

지도학습이란? 과거의 정보를 가지고 모델을 만들어, 현재 데이터를 기반으로 미래를 예측하는 패턴을 추출하는 학습방법이다. ( 번호판 인식, 날씨 예측, 시장 예측 ) 지도학습에서 모델은 회귀 모델(Regression)이라 부른다. '회귀'라는 단어는 어려우니, 그냥 단순히 입력값 X와 결과값 Y의 관계를 나타내는 모델이라 이해하면 된다. x와 y 좌표가 주어질 때, 이를 토대로 f(x)를 근사하는 것이 회귀(regresstion)이다. 회귀모델은 2차원 곡선에서 직선 혹은 곡선의 형태를 갖는다. 직선은 일차함수이고 곡선은 2차 이상의 고차함수이다. 선형회귀 선형회귀는 회귀모델이 1차 함수이다. f(x) = mx + b x에 따른 f(x)를 구하려면 기울기(m)과 절편(b)를 알아야 한다. 선형회귀는 m과..

CS/인공지능 2021.12.12

[인공지능] 기계학습

기계학습의 목적 if-else문 같은 조건문으로 설계가 불가능할만큼 경우의 수가 너무 많은 문제에 사용된다. 복잡한 데이터(비정형데이터)를 기반으로 결정을 내려야 하는 분야에 사용된다. 기계학습은 함수를 학습한다. 입력(x)가 들어올 때 어떤 결과(y)가 나올지 예측하는 방법이 기계학습이다. 기계학습의 종류 1) 지도학습(Supervised Learning) : 과거를 학습하여 미래를 예측 입력-출력 데이터 예시가 미리 주어짐. 예시를 기반으로 새로운 입력에 대한 출력을 예측하는 패턴을 추출 ( 번호판 인식, 날씨 예측, 시장 예측 ) 2) 비지도학습(Unsupervised Learning) : 현재를 분류하여 미래를 예측 예시 데이터가 없는 상태에서 데이..

CS/인공지능 2021.12.12

[운영체제] 가상메모리 운영체제 정책

가상메모리 기법에서는 페이지 폴트 발생률을 최소화하여 스래싱(Thrasing)을 줄여야 한다. 페이지 폴트로 발생하는 오버헤드가 너무 크다. 1) 어떤 페이지를 교체할지 정해야 한다. 2) 페이지 입출력 발생 3) 입출력 진행 될 동안 다른 프로세스 스케줄링 및 문맥교환 운영체제는 가상메모리를 운용하기 위한 여러가지 정책을 실시한다. 반입정책(Fetch Policy) 페이지를 언제 주기억장치에 적재할 것인가? 1) 요구페이징(demand paging) : 해당 페이지의 일부가 참조될 때, 지역성의 원리로 미리 페이지를 반입 2) 선페이징(prepaging) : 보조기억장치에 연속적으로 저장되어 있는 페이지를 한꺼번에 반입 ( 유용성 X ) 교체정책(Replacement Policy) 어떤 페이지를 교체할..

CS/OS 2021.11.16

[운영체제] 페이지 크기가 미치는 영향

페이지 크기는 하드웨어 설계의 중요한 요소이다. 페이지 크기가 많은 요소에 영향을 끼친다. 1. 페이지 테이블 크기 2. 프레임 내부 단편화 3. 참조지역성 효과 4. 입출력 시간 효율성 1. 페이지 테이블 크기 지난 포스팅에서 구체적으로 다루어 보았다. [운영체제] 가상메모리와 페이징 기법 [운영체제] 가상메모리 기법 [운영체제] 메모리 분할 ( Memory Partioning ) [ 비연속 메모리 할당 ] [운영체제] 메모리 분할 ( Memory Partioning ) [ 연속 메모리 할당 ] 다수의 프로세스에게 메모리를 분할해 lordofkangs.tistory.com 2. 프레임 내부 단편화 페이지를 크게 나누면 프로세스 블록이 페이지를 모두 채우지 못하는 내부단편화가 발생할 수 있다. 내부단편화..

CS/OS 2021.11.16

[운영체제] TLB ( Translation Lookaside Buffer )

가상 메모리 기법은 메모리 참조시, 논리주소를 동적으로 물리주소로 변환하여 참조한다. 최소 두 번의 참조가 발생한다. 1) 페이지 테이블 참조 2) 실기억장치 참조 두 번의 참조는 두 배의 메모리 접근 시간이 걸리도록 만든다. 이 문제를 해결하기 위해 TLB( Tranlation Lookaside Buffer) 즉, 고속 캐시를 사용한다. TLB TLB는 고속 캐시이다. 즉, 하드웨어다. TLB는 병렬판독회로(하드웨어)가 있어 원하는 페이지를 단번에 찾을 수 있다. 이를 연관사상이라 한다. 굉장히 빠르다. 가장 최근에 참조된 페이지를 TLB에 저장한다. 특정 페이지가 필요 시, 먼저 TLB를 검사한다. 적중(HIT)하면 바로 물리주소로 변환하여 주기억장치에 접근한다. 적중(HIT)하지 않으면 OS는 페이..

CS/OS 2021.11.16