분류 전체보기(130)
-
[인공지능] CNN (1)
#0331 최적화 방법 Adam : 가장 적합 컨볼루션 신경망 딥러닝에서 가장 성공한 모델 컴퓨터 비전은 인간의 시각 기능 모방: 컴퓨터도 인간처럼 딥러닝 이후 컴퓨터 비전 연구 패러다임 변화: 수작업 규칙 기반 -> 대용량 영상 데이터로 기계 학습 컴퓨터 비전(문제)과 딥러닝(해결 도구)은 상호작용을 통해 공진화 가장 위에 있는 Fully 한 노드에 mapping (모든 픽셀에 가중치) CNN은 다름 사람의 시간과 비슷하게 구성 : 보고싶은 부분만 보도록 수용장(receptive field) : 작은 영역만 하나의 노드에 넣어준다. ILSVRC2012 우승한 AlexNet - 자연 영상을 1000개 class 부류로 분류하는 문제 - 5순위 오류울 15.3%로 우승 (이전 해 대회는 고전적인 컴퓨터비전..
2023.03.31 -
네트워크 프로그래밍과 소켓의 이해 #network
네트워크 프로그래밍과 소켓이란? #0329 #네트워크프로그래밍 🐇¸.•*¨*•¸.•*¨*•¸.•*¨*•¸.•*¨*• 해당 자료는 도서 : 윤성우 열혈 TCP/IP 소켓 프로그래밍 을 참고하였습니다. 네트워크 프로그래밍 : 네트워크에 연결되어 있는 서로 다른 두 컴퓨터가 데이터를 주고 받을 수 있도록 하는 것 먼저 위의 그림을 설명하기 위해선 OSI 7 계층에 대한 설명이 필요하다. OSI 7 layers 국제 표준화 기구(ISO)에서 개발한 모델로 컴퓨터 네트워크 프로토콜 디자인과 통신을 7계층으로 나누어 설명한다. 각 계층은 하위 계층의 기능만을 이용, 상위계층에게 기능을 제공한다. 그러나 OSI 7 계층은 레퍼런스 모델로 프로토콜 개발에 참조되는 용도이며 실제로 구현된 프로토콜 모델은 TCP/IP P..
2023.03.30 -
딥러닝 학습전략
#0329 Vanisihing gradient problem과 해결책 ReLU 함수를 사용하여 해결 - gradient가 0에 가까워지면 (미분하다보면 0에 가까우면) weight가 안바뀌는 문제 발생 loss function : 손실함수 과잉 적합과 과잉 적합 회피 전략 - 너무 작은 차수(1차 다항식)를 사용하면? -> underfitting:과소 적합 (데이터에 비해 모델 용량이 작은 상황) - 모든 점을 고려하면 training set에는 완벽할 수 있으나 모르는 샘플에 대해 극단적인 현상 발생 과잉 적합 회피 전략 - 데이터 양을 늘림 - 데이터의 양을 늘릴 수 없는 상황에서는 훈련 샘플을 변형하여 인위적으로 늘리는 데이터 증대(data augmetation) 사용 딥러닝이 사용하는 손실함수 -..
2023.03.29 -
[알고리즘] log(N^2)의 정렬, #버블정렬 #bubbleSort
O(n2)의 시간 복잡도를 가지는 정렬 알고리즘 목차 1. 버블 정렬(Bubble sort) 2. 선택 정렬(Selection Sort) 3. 삽입 정렬(Insertion Sort) 4. 쉘 정렬 (Shell Sort) 정렬은 데이터를 정해진 기준에 따라 배치해 의미 있는 구조로 재설정하는 것을 말한다. def bubbleSort(x): length = len(x)-1 for i in range(length): for j in range(length-i): if x[j] > x[j+1]: x[j], x[j+1] = x[j+1], x[j] return x 1. 버블 정렬 (bubble sort) - 간단하게 구현할 수 있다. - 속도가 느리다. - 이웃하는 두 거품을 크기순으로 swap 한다고 생각하면 된..
2023.03.28 -
[네트워크 프로그래밍] 주소체계와 데이터 정렬 ch.3
#0324 #네트워크프로그래밍 해당 자료는 강의 학습 자료입니다. 🐇¸.•*¨*•¸.•*¨*•¸.•*¨*•¸.•*¨*• Chapter 3. 주소체계와 데이터 정렬 인터넷 주소 인터넷상에서 컴퓨터를 구분하는 목적으로 사용되는 주소 4 바이트 주소체계 : IPv4 16 바이트 주소체계 : IPv6 네트워크 주소와 호스트 주소로 나뉜다. 네트워크 주소를 이용해서 네트워크를 찾고, 호스트 주소를 이용해서 해당 네트워크에서 호스트를 검색한다. subnet mask : 같은 네트워크인지 구분 가능함 IP주소 : 컴퓨터를 구분하는 목적 첫번째 바이트 정보만 참조해도 구분이 가능하게 만들었으며 C언어 개발시 비트연산이 필요하다. 2진수 표현을 보면 어떻게 분리했는지 확인 가능하다. 0, 10, 110, 1110, 11..
2023.03.24 -
[네트워크프로그래밍] fgets()와 scanf() 차이점
#0324 #네트워크프로그래밍 해당 자료는 강의 학습 자료입니다. 🐇¸.•*¨*•¸.•*¨*•¸.•*¨*•¸.•*¨*• 문자열 입력 함수 fgets() scanf()의 차이점 : 저장되는 길이가 다르다. fgets() - 공백 입력을 허용, 마지막 Enter입력 : 줄바꿈 문자('\n') + 널문자('\0')가 추가 따라서 string -1 을 해야 정확한 값을 가져올 수 있다. scanf() - 공백을 기준으로 입력이 분리됨 마지막, Enter입력: 줄바꿈 문자를 문자열에 포함시키지 않고 NULL문자('\0')만 문자열에 추가 파일의 끝(EOF) 표시 파일의 끝 표시 : Linux 시스템에는 파일에 저장된 데이터를 가지고 파일의 끝을 검사하지 않는다. File system 에는 해당 파일의 길이를 저장..
2023.03.24