본문 바로가기

AI Study

(9)
[Computer vision] YOLO (You only look once) 모델 1. YOLO란? YOLO란 you only look once의 약자로, object detection 분야에서 많이 알려진 모델이다. 2015년에 Joseph Redmon(조셉 레드몬)이 워싱턴 대학에서 2015년도에 yolo v1 버전을 발표했으며 그 당시에 object detection은 대부분 Faster R-CNN이 가장 좋은 성능을 내고있었다. 그가 공개한 YOLO에서 가장 주목을 받았던 점은 객체 감지를 실시간으로 한다는 것이다. yolo는 처음으로 one-stage-detection 방법을 고안하여 실시간으로 객체 감지를 가능하게 한 모델이다. 기존 Object Detection은 Classification 문제를 2단계로 나눠서 검출하여 정확도는 높지만 여러번 호출함으로써 속도가 느려지는..
[ComputerVision] Neural Networks and Backpropogation 1. 퍼셉트론이란? 코넬 항공 연구소에 근무하던 Frank Rosenblatt가 뉴런 모델을 기초로 퍼셉트론 학습 규칙이라는 개념을 고안하였다. 하나의 뉴런이 출력 신호를 발생할지 안할지 결정하기 위해 뉴런으로 들어오는 각 입력값에 곱해지는 가중치 값을 자동적으로 학습하는 알고리즘이다. 다수의 트레이닝 데이터를 이용하여 일종의 지도 학습을 수행하는 알고리즘이라고 볼 수 있다. 위 그림과 같은 구조에서 x 벡터들은 퍼셉트론 알고리즘으로 입력되는 값이며, w 벡터들은 x 벡터에 곱해지는 가중치이다. 특성값 x벡터에 가중치 w벡터를 곱하고 모두 더하여 하나의 값으로 만드는데, 이 값을 만드는 함수를 순입력함수(net input) 함수라고하고, 순입력 함수의 결과값을 특정 임계값과 비교하고 순입력 함수의 결과가..
[DeepLearning] AI 프로그래밍 복습 2 1. Linear Algebra (선형대수학) 1) 스칼라 숫자이다. ex. x = np.array(3.0) 2) 벡터 숫자 여러개이고, 어떤 특징으로 묶여있다. x ( R^n 이렇게 표현할 수 있다. ex. x = np.arange(4) 3) 메트릭스 2차원 숫자이고 행렬이라고 볼 수 있다. ex. A = np.arange(20).reshape(5,4) (순서는 행, 열) 메트릭스의 곱 k를 맞춰주어야한다. 여기서 k는 같은 차원! (교환법칙이 성립하지 않는다. ) 4) 텐서 3차원 이상의 숫자이다. ex. x = np.arange(24).reshape(2,3,4) 2. Derivative 함수 = 입력과 출력 미분은 입력값이 아주 작게 변화헀을 때 출력값이 얼마나 변화하는가에 대한 비율이다. 기초 미..
[ComputerVision] Linear Regression, Logistic Regression 기본적으로 알아야할 것: supervised Learning: 정답이 있다. upsupervised Learing: 정답이 없다. 1. Regression regression은 continous하고 depth estimation 즉 영상의 깊이 정보를 추정한다. classs는 discrete하고 semantic segmentation 즉 영상을 의미적으로 다른 부분으로 분할한다. ex. 1-1) regression의 목표 예측: 새로운 input에 대해 ouput을 예측한다. 분석: input과 output의 관계를 설명한다. 1-2) regression의 데이터 셋 input은 차원이 있는 벡터이고 (D) output은 수이다. Yn은 n-th output이고, Xn은 벡터 D이다. (여기서 n은 데이..
[Ontology] 기본 개념들 1. OWL 온톨로지란? 온톨로지는 특정 도메인의 지식을 표현하기 위한 것이다. 이를 위해서 여러 온톨로지 언어들이 있는데, 표준 언어는 W3C가 제정한 OWL이다. 현대 온톨로지는 다양한 언어로 표현되고 있음에도 불구하고 구조적으로 유사성이 보이는데, individual, class, attributes, relatoin을 기술한다. 온톨로지도 설계하는 개발자별로 스타일이 있을 수 있다. 2. Individual 개념 = Instance, entities 특정 도메인의 '객체'를 의미한다. 사람, 동물, 분자와 같이 구체적 개체일 수도 있고 추상적일수도 있다. 3. Property개념 individual과 individual 사이의 관계이다. 둘 사이의 관계이므로 Property는 binary rela..
[ComputerVision] 공간 도메인과 주파수 도메인 기초 1. 디지털 이미지의 기초 1-1) 샘플링 & 양자화 샘플링: 수많은 데이터 가운데 유한한 개수의 데이터를 뽑아내는 것, 카메라 화소가 높다는 것은 어떤 장면에 대한 빛의 패턴 신호를 높은 주파수로 샘플링하는 것을 의미한다. 양자화: 아날로그 형태로 되어있는 신호나 정보를 디지털화, 아날로그에서는 0과 1 사이에는 무수히 많은 숫자가 존재하는데, 현실적으로 다 표현할 수 없기 때문에 근접한 값으로 설정 이미지 생성: 광원이 어떤 에너지 소스가 빛을 내고 물체에서 반사된다. imaging system을 통하여 아날로그 신호들이 sampling과 quantization을 통하여 디지털정보로 저장된다. 결론) 화소가 높아질수록 좋아진다 = 샘플링 간격이 좁아지고, qauntization 간격이 좁아진다. 1-..
[DeepLearning] 아나콘다, 주피터 가상환경 설정 1. 아나콘다를 설치한다. https://www.anaconda.com/ Anaconda | The World's Most Popular Data Science Platform Anaconda is the birthplace of Python data science. We are a movement of data scientists, data-driven enterprises, and open source communities. www.anaconda.com 2. 가상환경을 생성한다. 맥북은 프롬트창을 따로 사용하지 않고 터미널에서 진행할 수 있다. #가상환경 생성 명렁어 conda create -n deepLearning python=3.7 명령어를 통해 deepLearning이라는 가상환경을 파이썬 ..
[DeepLearning] 1. AI 프로그래밍 복습 * 인공 신경망과 관련이 있다. 목차 분류 (classification) 인공 뉴런 (Artificial Neuron) 인공 뉴런의 연결 인경신경망의 분류 인공신경망의 학습 객체 지향 프로그래밍 (Object Oriented Programming) 상속 (Inheritance) numpy 1. 분류 어떤 클래스를 가지고 있는 것을 분류하는 것 ex. 개? 고양이? 이 사진은 개일까? 고양이일까? 클래스(ex.개, 고양이)가 정해져있고 input이 어디에 속하는지 판단 클래스는 두개일 수도있고 많을 수도 있다. 이 함수를 만들어내는 것을 분류 문제이다. 컴퓨터는 오직 0,1로 구성되어있기때문에 개와 고양이를 어떤 숫자에 대응시켜야한다. ex. 개(1,0) 고양이 (0,1) 텐서값을 입력으로 받아서 (1,0..