no image
Pytorch 기본기 - 3
참고 : 이수안컴퓨터연구소 모델 정의 nn.Module 상속 클래스 정의nn.Module을 상속받는 클래스 정의init(): 모델에서 사용될 모듈과 활성화 함수 등을 정의forward(): 모델에서 실행되어야 하는 연산을 정의class Model(nn.Module): def __init__(self, inputs): super(Model, self).__init__() self.layer = nn.Linear(inputs, 1) self.activation = nn.Sigmoid() def forward(self, x): x = self.layer(x) x = self.activation(x) return xmodel = Model(1)print(list(model.c..
2024.07.02
no image
Pytorch 기본기 - 2
참고 : 이수안컴퓨터연구소Autograd(자동미분)torch.autograd 패키지는 Tensor의 모든 연산에 대해 _\_자동 미분** 제공이는 코드를 어떻게 작성하여 실행하느냐에 따라 역전파가 정의된다는 뜻backprop를 위해 미분값을 자동으로 계산requires_grad 속성을 True로 설정하면, 해당 텐서에서 이루어지는 모든 연산들을 추적하기 시작기록을 추적하는 것을 중단하게 하려면, .detach()를 호출하여 연산기록으로부터 분리a = torch.randn(3, 3)a = a* 3print(a)print(a.requires_grad)>> tensor([[ 3.9995, -0.8653, -3.2425], [ 3.2839, 1.6168, -2.2379], [ 1.75..
2024.07.02
no image
Pytorch 기본기 - 1
참고 : 이수안컴퓨터연구소 Pytorch페이스북이 초기 루아(Lua) 언어로 개발된 토치(Torch)를 파이썬 버전으로 개발하여 2017년도에 공개초기에 토치(Torch)는 넘파이(NumPy) 라이브러리처럼 과학 연산을 위한 라이브러리로 공개이후 GPU를 이용한 텐서 조작 및 동적 신경망 구축이 가능하도록 딥러닝 프레임워크로 발전시킴파이썬답게 만들어졌고, 유연하면서도 가속화된 계산 속도를 제공 Pytorch 모듈 구조 파이토치의 구성요소torch: 메인 네임스페이스, 텐서 등의 다양한 수학 함수가 포함torch.autograd: 자동 미분 기능을 제공하는 라이브러리torch.nn: 신경망 구축을 위한 데이터 구조나 레이어 등의 라이브러리torch.multiprocessing: 병럴처리 기능을 제공하는 라..
2024.07.02
no image
핸즈온 머신러닝 - 14
참고 : 핸즈온 머신러닝 2판 합성곱 신경망을 사용한 컴퓨터 비전지각은 간단한 문제가 아니고 이를 이해하기 위해서는 감각기관의 작동 원리를 이해해야 함함성곱 신경망(CNN)은 1980년대부터 이미지 인식 분야에 사용CNN 시각분야 뿐만 아니라 음성 인식, 자연어 처리와 같은 다른 작업에도 많이 사용됨 시각 피질 구조대뇌의 뉴런들이 시야의 일부 범위 안에 있는 시각 자극에만 반응고수준의 뉴런이 저수준 뉴런의 출력에 기반한다는 의미를 얻음위의 구조가 결과적으로 전체 시야 영역에 포함된 모든 종류의 복잡한 패턴을 감지할 수 있게 함 합성곱 층CNN의 가장 중요한 구성 요소는 합성곱 층첫 번째 합성곱 층의 뉴런은 입력 이미지의 모든 픽셀에 연결되는 것이 아니라 합성곱 층 뉴런의 수용장 안에 있는 픽셀에만 연결두..
2024.06.19
no image
핸즈온 머신러닝 - 13
참고 : 핸즈온 머신러닝 2판 텐서플로에서 데이터 적재와 전처리하기메모리 용량에 맞지 않는 아주 큰 규모의 데이터셋으로 딥러닝 시스템을 훈련해야 하는 경우가 많음다른 딥러닝 라이브러리를 사용해서는 대규모 데이터셋을 효율적으로 로드하고 전처리하도록 구현하기가 어려움텐서플로에서 멀티스레딩, 큐, 배치, 프리페치 같은 상세한 사항을 모두 처리 해줌데이터 API는 텍스트 파일, 고정 길이의 레코드를 가진 이진 파일, 텐서플로의 TFRecord 포멧을 사용하는 이진 파일에서 데이터를 읽을 수 있음해당 포멧은 길이가 다른 레코드를 지원일반적으로 프로토콜 버퍼를 담은 유연하고 효율적인 이진 포멧SQL 데이터베이스에서 읽는 기능도 지원구글 Big Query 와 같은 다양한 데이터 소스에서 읽을 수 있는 오픈소스 제공T..
2024.06.19
no image
핸즈온 머신러닝 - 12
참고 : 핸즈온 머신러닝 2판 텐서플로를 사용한 사용자 정의 모델과 훈련자신만의 손실 함수, 지표, 층, 모델, 초기화, 규제, 가중치 규제 등을 만들어 세부적으로 제어하고 싶을 때 필요텐서플로의 자동 그래프 생성 기능을 사용해 사용자 정의 모델과 훈련 알고리즘의 성능을 향상 시킬수 있는 방법 텐서플로 훝어보기이미지 분류, 자연어 처리, 추천 시스템, 시계열 예측 등과 같은 모든 종류의 머신러닝 작업 수행tensorflow 구성 이미지 가장 저수준의 tensorflow 연산은 매우 효율적인 C++ 코드로 구현대부분의 코드는 고수준 API를 사용, 하지만 더 높은 자유도가 필요하는 경우 저 수준 API를 사용해 직접 텐서를 처리 numpy처럼 텐서플로 사용하기 텐서와 연산tf.constant() 함수로..
2024.06.19
no image
핸즈온 머신러닝 - 11
참고 : 핸즈온 머신러닝 2판 심층 신경망 훈련하기그레이디언트 소실 또는 그레이디언트 폭주 문제대규모 신경망을 위한 훈련 데이터의 부족, 레이블 작업 비용 문제훈련이 극단적인 시간 소요수백만 개의 파라미터를 가진 모델은 훈련 세트에 과대적합될 위험이 존재 그레이디언트 소실과 폭주 문제경사 하강법이 하위층의 연결 가중치를 변경하지 않은 채로 훈련되어 좋은 솔루션으로 수렴하지 못하는 상태를 그레이디언트 소실그레이디언트가 점점 커져서 여러 층이 비정상적으로 큰 가중치로 갱신되어 알고리즘이 발산하는 상태를 그레이디언트 폭주일반적으로 불안정한 그레이디언트는 심층 신경망 훈련을 어렵게 만듬 글로럿과 He 초기화예측을 할 때는 정방향, 그레이디언트 역전파할 때는 역방향으로 양방향 신호가 적절하게 하는것이 그레이디언트..
2024.06.19
no image
핸즈온 머신러닝 - 10
참고 : 핸즈온 머신러닝 2판 케라스를 사용한 인공 신경망 소개뇌에 있는 생물학적 뉴런의 네트워크에서 영감을 받은 머신러닝 모델 생물학적 뉴런에서 인공 뉴런까지신경망을 훈련하기 위한 데이터가 많아짐, 인공 신경망은 규모가 크고 복잡한 문제에서 다른 머신러닝 기법보다 좋은 성능을 발휘컴퓨터 하드웨어 발전으로 대규모 신경망 훈련이 가능, 훈련 알고리즘이 향상 뉴런을 사용한 논리 연산하나 이상의 이진 입력과 이진 출력을 가지는 형태인공 뉴런은 단순히 입력이 일정 개수만큼 활성화되었을 때 출력을 생성왼쪽 첫 번째 네트워크는 항등 함수뉴런 A 가 활성화 되면 뉴런 C도 활성화, 뉴런 A가 꺼지면 뉴런 C도 꺼짐두 번째 네트워크는 논리곱 연산을 수행뉴런 A와 B 모두 활성화될 때만 뉴런 C가 활성화세 번째 네트워크..
2024.06.19
no image
핸즈온 머신러닝 - 9
참고 : 핸즈온 머신러닝 2판 비지도 학습지도학습에 많은 발전이 이루어졌지만 가장 잠재력이 큰 분야군집비슷한 샘플을 클러스터로 모음, 군집은 데이터 분석, 고객 분류, 추천 시스템, 검색 엔진, 이미지 분할, 준지도 학습, 차원 축소 등에 사용할 수 있는 도구이상치 탐지정상 데이터가 어떻게 보이는지를 학습, 그다음 비정상 샘플을 감지하는 데 사용제조 라인에서 결함 제품을 감지하거나 시계열 데이터에서 새로운 트렌드를 찾음밀도 추정데이터셋 생성 확률 과정의 확률 밀도 함수(PDF)를 추정밀도 추정은 이상치 탐지에 널리 사용밀도가 매우 낮은 영역에 놓인 샘플이 이상치일 가능성이 높음, 데이터 분석과 시각화에도 유용 군집비슷한 샘플을 구별해 하나의 클러스터 또는 비슷한 샘플의 그룹으로 할당하는 작업분류와 같이 ..
2024.06.18