본문 바로가기
728x90
반응형
SMALL

전체 글1632

[Computer Vision] 이미지 처리 픽셀 (pixel) 이미지 데이터는 픽셀 (pixel)이라고 하는 작은 이미지를 직사각형 형태로 모은 것이다. 각 픽셀은 단색의 직사각형이다. 전체 이미지의 크기를 표현할 때는 (가로 x 세로) 형식으로 표현한다. 이미지 데이터를 저장할 때는 픽셀의 색을 표현하는 스칼라 값이나 벡터를 2차원 배열로 표현한다. 파이썬에서 numpy의 ndarray 클래스 배열로 표현한다. 이미지 크기 변환 resize() 명령으로 이미지 크기 변환이 가능하다. import matplotlib.pylab as plt import cv2 img_astro3 = cv2.imread("/xx.png") # 각 채널을 분리 b, g, r = cv2.split(img_astro3) # b, r을 서로 바꿔서 Merge img_ast.. 2021. 12. 30.
설명가능한 인공지능 (XAI; eXplainable AI) 설명가능한 인공지능 (eXplainable AI) 설명가능한 인공지능 (XAI)는 ML 알고리즘으로 작성된 결과와 출력을 인간인 사용자가 이해하고 이를 신뢰할 수 있도록 해주는 일련의 프로세스와 방법론이다. XAI를 사용하면 AI 모델, 이의 예상된 영향 및 잠재적 편향을 기술할 수 있다. 이는 AI 기반 의사결정에서 모델 정확성, 공정성, 투명성 및 최종 결과를 특성화하는 데 유용하다. AI의 책임성과 모델 모니터링을 통해 AI 의사결정 프로세스를 완벽히 이해하는 것이 매우 중요하다. 이를 맹목적으로 신뢰하는 것은 자칫 위험할 수 있다. XAI는 인간이 ML 알고리즘, DL 및 신경망을 이해하고 설명하는 데 있어서 매우 유용하다. ML 모델은 종종 해석이 불가능한 블랙박스로 여겨져 왔다. DL에 사용되.. 2021. 12. 30.
[NumPy] numpy 원소 재배열 numpy.flip(m, axis=None) 뒤집는 (flip) 함수이다. 영상 처리에서 flip 연산은 주로 2개이다. 수직축을 중심으로 뒤집는 vertical flip, 그리고 수평축을 중심으로 뒤집는 horizontal flip이 있다. 이 함수는 axis에 따라서 다양한 flip 연산이 구현되어 있다. a = np.arange(1, 10).reshape((3, 3)) # array([[3, 2, 1], [6, 5, 4], [9, 8, 7]]) np.flip(a, 0) # array([[7, 8, 9], [4, 5, 6], [1, 2, 3]]) np.flipud(a) # array([[7, 8, 9], [4, 5, 6], [1, 2, 3]]) b = np.arange(1, 10).reshape(3,.. 2021. 12. 30.
[Deep Learning] 비용 함수 (Cost Function) 비용 함수 (Cost Function) 가설이 얼마나 정확한지 판단하는 기준을 말하며, loss function의 합, 평균 에러를 다룬다. 여기서 single data set이 아니라 entire data set을 다룬다. 순간마다의 loss를 판단할 땐 loss function을 사용하고 학습이 완료된 후에는 cost function을 확인한다. 제곱합 (Sum of squared) 제곱합은 신경망 연구 초기부터 사용된 cost function으로 델타 규칙을 이용해 오차를 구하고 weight를 조정한다. 교차 엔트로피 (Cross Entropy) 교차 엔트로피는 다중 클래스 분류 (multi class classification) 신경망에서 많이 사용된다. 출력 (y)의 범위는 0 < y < 1이다.. 2021. 12. 30.
[Deep Learning] 목적 함수 (Objective Function) 목적 함수 (Objective Function) 모델에 대하여 우리가 가장 일반적으로 사용하는 용어로써 최댓값, 최솟값을 구하는 function을 말한다. 예를 들어, loss function은 cost function의 일부이고, cost function는 objective function의 일부라고 보면 된다. objective function의 종류 - Error minimization - Fitness maximization - Reward maximization - Efficiency - Stability (Homeostasis), - Wiring cost minimization - ... 2021. 12. 30.
[ANN] CNN in the image area Weight parameter 감소 DNN에 비해 CNN에서는 weight의 수가 현저하게 줄어들면서도 edge 정보 등 수많은 위치 정보들을 그대로 유지하면서 feature를 확보한다. DNN은 fully connected layer 구조이다. 이것은 이전의 모든 neuron들이 다음 각각 neuron들에 전부 연결되어 있다. 따라서 이미지가 학습 데이터로 입력되면 굉장히 많은 parameter (weight)가 발생한다. 결과적으로 각각의 weight의 최적화를 위해 학습이 굉장히 오래걸리게 된다. Weight sharing / Sparse connection DNN에서는 하나의 출력값에 각각 다른 가중치들이 사용되고 있다. 반면, CNN은 하나의 출력값에 같은 가중치들이 사용되고 있다. 다시말해, .. 2021. 12. 29.
[NumPy] numpy 원소 제거 및 추가 np.insert(arr, obj, values, axis=None) 값을 추가하는 함수이다. a = np.array([[1, 1], [2, 2], [3, 3]]) # array([[1, 1], [2, 2], [3, 3]]) np.insert(a, 1, 5) # array([1, 5, 1, 2, 2, 3, 3]) np.insert(a, 1, 5, axis=0) # array([[1, 1], [5, 5], [2, 2], [3, 3]]) np.insert(a, 1, 5, axis=1) # array([[1, 5, 1], [2, 5, 2], [3, 5, 3]]) np.append(arr, values, axis=None) insert와 유사하게 배열을 삽입해주는 함수이다. insert 함수는 특정 인덱스에 원.. 2021. 12. 29.
[NumPy] asarray() asarray() 리스트 및 튜플을 Numpy 배열로 변환하는 방법 import numpy as np # from list to numpy array list_sample = [1, 2, 3, 4, 5] print(list_sample) # [1, 2, 3, 4, 5] numpy_sample = np.asarray(list_sample) print(numpy_sample) # [1 2 3 4 5] # from tuple to numpy array list_sample = (1, 2, 3, 4, 5) print(list_sample) # (1, 2, 3, 4, 5) numpy_sample = np.asarray(list_sample) print(numpy_sample) # [1 2 3 4 5] import.. 2021. 12. 27.
[NumPy] numpy.ndarray 배열 생성 import numpy as np # 다차원 numpy 배열 생성 a = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]]) # 배열의 shape print(a.shape) # (3, 3) # 배열 reshape b = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]) print(b.shape) # 16 b = b.reshape(4, 4) print(b) # [[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]] print(b.shape) # (4, 4) 배열 접근 (indexing) import numpy as np # numpy 배열 접근 a = np.array([[0, 1,.. 2021. 12. 27.
넘파이 (NumPy) 넘파이 (NumPy) 행렬이나 일반적으로 대규모 다차원 배열을 쉽게 처리 할 수 있도록 지원하는 파이썬의 라이브러리이다. NumPy는 데이터 구조 외에도 수치 계산을 위해 효율적으로 구현된 기능을 제공한다. numpy의 다차원 배열 타입은 numpy.ndarray이다. import numpy as np # 배열 생성 x = np.array([1, 2, 3]) x # [1, 2, 3] y = np.arange(10) # like Python's range, but returns an array y # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] z = np.array([0, 1, 2], dtype='float32') z # [0. 1. 2.] a = np.array([1, 2, 3, 6]) b .. 2021. 12. 27.
728x90
반응형
LIST