반응형
SMALL

Computer Science 91

[컴네/CN] IP Address

인터넷 주소 인터넷 주소는 인터넷에 연결된 장치의 주소이다. 장치의 주소는 두 가지로 나눌 수 있는데, ip 주소와 mac 주소가 그것이다. ip address ip주소는 인터넷에 연결되어 있는 개체(컴퓨터 또는 네트워크 카드)의 식별자(주소)이다. 즉, 논리적인 주소로 네트워크에 따라 변동된다는 특징이 있으며, ISP/공유기에서 할당한다. mac address mac 주소는 디바이스 고유의 식별자로 hardware에 존재하는 physical 주소이다. 즉, 물리적인 주소로 네트워크 카드를 만드는 제조사에서 일정한 규칙에 따라 부여한다. 물리적 주소와 논리적 주솔흘 쉽게 이해하기 위해 예를 들어 보자면, 우리가 택배를 보낼 때 사용하는 도로명주소가 논리적 주소의 예이고, 위치를 지구상의 위도와 경도로 표..

[컴네/CN] 프로토콜 및 소켓

TCP/IP 프로토콜 계층 왼쪽이 TCP/IP, 오른쪽이 osi 프로토콜 계층이다. TCP/IP의 application 계층이 osi에서는 application, presentation, session의 세 계층으로 나뉜다. application 계층은 자유롭게 변경이 가능하며 대부분의 일은 이 계층에서 발생한다. 그 아래의 계층은 운영체제와 가까우며 쉽게 바뀌지는 않지만 지속적으로 변화하고 있는 부분이다. 계층별 식별자 데이터를 전송하면 각 계층 별로 식별자가 존재한다. Application 계층에서는 웹&email&http&P2P를 식별하고, Transport 계층에서는 port number를 통해 식별하고, Network 계층에서는 ip address를 통해 식별한다. ip는 각 인터페이스에게 각각..

[컴네/CN] HTTP와 Cookie

⭐️Review⭐️ HTTP/1.1 위 사진은 HTTP/1.1의 헤더의 모습이며, TCP 연결 재사용을 위해 헤더에서는 Keep-Alive 필드로 표시한다. Keep-Alive 필드는 timeout이라는 최소 시간 동안 max 시간까지 TCP 연결을 유지하라는 의미를 가지고 있다. HTTP/1.1은 한 개의 TCP 연결만을 사용하는 것이 아니라 여러 개의 TCP 연결을 사용하는데 TCP 연결이 너무 많이 생성되면 자원 관리 차원에서 문제가 발생하므로 성능 관리를 위해 브라우저에서는 도메인 당 최대 연결 수를 제한한다. HTTP/1.1 domain sharding HTTP/1.1은 pipelining을 사용하기 때문에 HoL 병목 현상이 발생한다.(이전 포스트 참고) 따라서 해당 pipelining은 많이..

[컴네/CN] HTTP 버전

HTTP 발전 현재는 HTTP/1.1 이상의 버전만 사용한다. HTTP/1.0 HTTP GET 메소드에 대해 1개의 TCP 연결을 사용한다. 즉, 객체 1개 전송할 때 1개의 TCP 연결을 사용한다는 의미이다. 따라서 객체 하나를 전송할 때에 새로운 TCP socket를 생성하고 새롭게 연결을 수행해야 하므로 생성과 연결에 지연 시간이 발생한다. 즉, 왕복지연시간문제(non-persistent HTTP)가 발생한다. 우리는 이러한 왕복지연시간문제를 해결하기 위하여 HTTP/1.1을 만들었다. 이때, 우리는 왜 왕복지연시간을 줄여야 할까? 아래 표는 지연 시간에 따른 사용자 체감을 나타낸 표이다. 밀리초(1/1000초)라는 아주 작은 시간 동안에도 사용자는 체감을 할 수 있다. 사용자가 이러한 지연 시간을..

[컴네/CN] HTTP

HTTP: Hyper-text transfer protocol HTTP는 socket을 이용한 웹 페이지 전송 프로토콜이다. 클라이언트가 서버에 요청을 보내면, 서버는 클라이언트에게 응답을 전송하는 구조로, 서버와 클라이언트의 모든 통신은 request와 response로 구성된다. HTTP는 TCP 위에 존재하며, TCP는 socket 위에 존재한다. (HTTP/3는 TCP 대신 UDP를 사용한다.) 이때 웹 페이지는 객체들의 집합이며, 각 객체는 웹 페이지가 보유할 수 있는 HTML file, JPEG image, audio/video file 등을 일컫는다. 이때 웹 페이지는 url을 통해 식별되는데, url은 universal resource locator의 약어로 네트워크 상에서 자원이 어디 있..

[머신러닝/ML] ConvNet

ConvNet 우리가 지금껏 학습한 network는 forward network 또는 fully network라고도 한다. 또, 입력이 여러 개인 경우 하나로 합치고 하나의 출력으로 만들어 낼 수 있는데 이는 Convolutional Neural Network의 기본적인 아이디어이다. Convolutional Neural Network의 기본 아이디어는 고양이 실험으로부터 왔다. 고양이에게 어떠한 그림을 보여주었을 때 그림의 일부를 보고 뉴런의 일부만 반응한다는 사실을 깨닫게 되었다. 이는 입력을 일부만 받아오게 된다는 의미로 받아들이고 이러한 아이디어를 발전해 나가게 된다. 입력으로 들어온 왼쪽의 이미지를 작게 조각내고 각 조각을 입력으로 넣는다. 이때 작은 조각들은 convolution layer라고..

[머신러닝/ML] Dropout과 Ensemble, 네트워크 쌓기

Dropout과 Ensemble 이전에 우리는 Overfitting라는 것을 학습하였다. overfitting이란 학습 데이터에 대해 100%의 정확도를 내어 오히려 test data set에 대해 낮은 정확도를 보이는 경우를 말한다. 우리는 이러한 overfitting 문제를 해결하기 위해 regularization이라는 것을 학습하였다. 이해하기 쉽기 이야기 하자면, 꼬불꼬불하고 복잡하게 그어진 그래프를 일부 weight를 없앰으로써 평탄하게 만들어주는 것이다. 더 자세한 내용은 아래의 링크를 참고하기 바란다. https://coding-saving-012.tistory.com/90 [ML/머신러닝] Learning Rate, Data Preprocessing, Overfiting Learning R..

[머신러닝/ML] ReLU와 Weight 초기화

ReLU 딥러닝은 여러 개의 레이어를 통해 학습이 진행된다. 이때 입력을 받는 레이어는 input layer, 출력을 만들어내는 레이어는 output layer라고 한다. 그렇다면 레이어의 개수가 많을 때, input layer와 output layer를 연결해 주는 중간 레이어가 존재할 것이다. 우리는 이러한 중간 레이어를 hidden layer라고 한다. 하지만 레이어의 개수가 늘어나도 cost나 accuracy는 거의 그대로이다. 이는 backpropagation을 통해 적은 개수의 레이어를 사용할 때에는 weight값이나 bias값을 잘 찾아냈다. 하지만 레이어의 개수가 많아진 경우(9개 이상) 적절한 weight, bias값을 찾지 못한다. hidden layer의 노드를 거칠 때 우리는 wei..

[머신러닝/ML] XOR연산 딥러닝으로 풀기

앞서 XOR operation은 단일 레이어로 정답을 유추하기에 어려움이 있다고 언급하였다. 따라서 다중레이어 즉, multilayer를 사용해야 하는데 레이어가 증가할 수록 새롭게 정의해야 하는 weight값과 bias값이 증가한다는 문제점도 있다고 언급하였다. XOR 연산 풀어보기 3개의 unit의 weight와 bias를 임의로 설정하여 XOR연산을 풀이해보겠다. x1, x2의 입력을 넣어 각 y1, y2의 결과를 도출하고 y1, y2의 입력을 넣어 ȳ의 결과를 도출하게 한다. 이때, ȳ가 XOR연산의 결과가 되는 것이다. 각 레이어는 아래와 같이 계산한다. 이때 각 값을 구하는 S함수는 sigmoid함수로 앞서 언급하였다. 단순히 음수면 0의 값을, 양수면 1의 값을 도출한다고 생각해도 좋다. 첫..

[머신러닝/ML] 딥러닝의 기본 개념

머신러닝에서 딥러닝으로 발전한 까닭이 존재한다. 머신러닝은 training set에 대해 사람이 feature를 추출하여 추출된 feature를 바탕으로 각 모델들이 학습하였다. 하지만, 데이터에는 사람이 발견할 수 없는 많은 요소들이 존재한다. 사람이 feature를 추출하고 학습시킨 모델은 일정 양 이상의 training set이 들어오면 정확도가 더 이상 높아지지 않는 문제점이 발생하는 것이다. 따라서 사람이 feature를 추출하는 것이 아닌, feature를 추출하는 일련의 과정마저 모델에게 맡기는 것이다. 새의 사진을 넣고 이러한 생김새를 가진 모든 사진을 새라고 명명하도록 각각의 데이터에 label만 붙여주는 것이다. 이러한 방식을 사용하면 정확도가 더욱 높아질 수 있다는 장점이 있으며 이와..

반응형
LIST