목록K 개발자 (145)
K 개발자
교환 시스템의 종류 교환 회선을 이용하는 방식은 논리적 연결 설정 유무에 따라 크게 두 가지로 구분된다. 하나는 데이터를 전송하기 전에 통신 양단 사이에 고정된 연결 경로를 설정하는 회선 교환 방식이고, 다른 하나는 미리 연결을 설정하지 않고, 데이터를 패킷 단위로 나누어 전송하는 패킷 교환 방식이다. 이외에 메시지 교환이라는 중간 형태도 있다. 회선 교환 회선 교환Circuit Switching 방식은 통신하고자 하는 호스트가 데이터를 전송하기 전에 연결 경로를 미리 설정하는 방식이다. 연결 설정 과정에서 송수신 호스트 간의 경로가 결정되기 때문에 모든 데이터가 같은 경로로 전달된다. 회선 교환 방식은 고정 대역의 논리적인 전송 선로를 전용으로 할당받으므로, 안정적인 데이터 전송률을 지원한다. 메시지 ..
OSI 7계층 모델 ISOInternational Standard Organization에서 제시한 OSI 7계층 모델Open Systems Interconnection 7 Layer Model이다. 전송 데이터는 송신 호스트의 응용 계층에서 시작해 하위 계층으로 순차적으로 전달되어, 최종적으로 물리 계층에서 수신 호스트에 전달된다. 수신 호스트에서는 데이터를 상위 계층으로 순차적으로 이동시켜 응용 계층까지 보내준다. 용어 정의 임의의 호스트에서 실행되는 계층 n 모듈은 상대 호스트의 계층 n 모듈과 논리적으로 통신하는데, 이들이 사용하는 규칙을 계층 n 프로토콜Protocol이라 한다. 프로토콜의 역할은 프로토콜에서 정의된 기능을 수행하면서 필요한 정보를 교환하는 것이다. 동일 계층에 위치한 통신 양단..
계층적 모듈 구조 일반적으로 복잡하고 큰 시스템의 기능은 특정 단위의 모듈로 나누어 설계한다. 모듈은 독립적으로 동작하면서도 상호 유기적으로 통합될 수 있어야 한다. 그러므로 모듈 사이에는 적절한 인터페이스가 필요하다. 계층 구조 분할된 모듈들은 협력 관계를 유지하면서 유기적으로 동작한다. 대부분의 모듈 구조에서는 특정 모듈이 다른 모듈에 서비스를 제공하는 형식의 계층 구조를 이룬다. 네트워크에서도 독립적인 고유 기능을 수행하는 모듈들이 상하위의 계층 구조로 연결되어 동작한다. 모듈화된 계층 구조 프로토콜의 장점 복잡하고 큰 시스템을 기능별로 작게 분류해서 간단하고 작은 시스템으로 재구성할 수 있다. 따라서 전체 시스템을 이해하기 쉽고, 시스템을 설계하고 구현하기도 편리하다. 상하 계층에 인접한 모듈 사..
프로토콜 프로토콜Protocol은 통신 시스템이 데이터를 교환하기 위해 사용하는 통신 규칙이다. 프로토콜과 인터페이스 네트워크 사용자가 통신한다는 것은 데이터를 서로 주고받는다는 것을 의미한다. 최종 사용자가 데이터를 보내고 받으려면 양쪽 호스트에서 실행되는 OSI 7계층의 모듈이 유기적으로 연동되어야 한다. 즉, 호스트끼리 통신하는 과정에서는 각 계층의 모듈이 상대 호스트의 동일 계층과 개별적으로 논리적 통신을 수행해야 한다. 예를 들어, 통신 양단의 한쪽 호스트의 계층 n 모듈은 상대 호스트의 계층 n 모듈과 통신한다. 이와 같이 각각의 계층은 정해진 방식과 절차에 따라 상대 계층과 통신하는데, 이 과정에서 필요한 규칙을 프로토콜Protocol이라 한다. 상하위의 계층 간에는 인터페이스Interfac..
네트워크 기초 용어 시스템 시스템system은 내부 규칙에 따라 능동적으로 동작하는 대상을 가리킨다. 인터페이스 인터페이스Interface는 시스템과 시스템을 연결하기 위한 표준화된 접근 방법이다. 전송 매체 시스템끼리 정해진 인터페이스를 연동해 데이터를 전달하려면 물리적인 전송 수단인 전송 매체Transmission Media가 반드시 있어야 한다. 프로토콜 상호 연동되는 시스템이 전송 매체를 통해 데이터를 교환할 때는 표준화된 특정 규칙을 따르는데, 이 규칙을 프로토콜Protocol이라 한다. 네트워크 통신용 매체를 공유하는 여러 시스템이 프로토콜을 사용하여 데이터를 주고받을 때, 이들을 하나의 단위로 통칭하여Network라 부른다. 인터넷 인터넷Internet은 전 세계의 모든 네트워크가 유기적으로..
보상을 최적화하기 위한 학습 강화 학습reinforcement learning(RL)에서 소프트웨어 에이전트agent는 관측observation을 하고 주어진 환경environment에서 행동action을 하고 그 결과로 보상reward을 받는다. 에이전트의 목적은 보상의 장기간 기대치를 최대로 만드는 행동을 학습하는 것 간단히 말해 에이전트는 환경 안에서 행동하고 시행착오를 겪으며 기쁨(양positive의 보상)이 최대가 되고 아픔(음negative의 보상)이 최소가 되도록 학습 양의 보상이 전혀 없을 수도 있다. (e.g. 에이전트가 미로 속을 움직인다면 매 타임 스텝마다 음의 보상을 받기 때문에 가능한 한 빨리 탈출구를 찾는 것이 좋을 것) 정책 탐색 소프트웨어 에이전트가 행동을 결정하기 위해 사용..
오토인코더autoencoder 오토인코더는 입력을 받아 효율적인 내부 표현(잠재 표현latent representation, 코딩coding)으로 바꾸고 (바라건대) 입력과 가장 가까운 어떤 것을 출력 오토인코더는 항상 두 부분으로 구성 입력을 내부 표현으로 바꾸는 인코더encoder(또는 인지 네트워크recognition network)와 내부 표현을 출력으로 바꾸는 디코더decoder(또는 생성 네트워크generative network) 출력층의 뉴런 수가 입력 개수와 동일하다는 것을 제외하면, 일반적으로 오토인코더는 다층 퍼셉트론(MLP)과 구조가 동일 오토인코더가 입력을 재구성하기 때문에 출력을 종종 재구성reconstruction이라고 부른다. 비용 함수는 재구성이 입력과 다를 때 모델에 벌점을..
Char-RNN RNN을 훈련하여 문장에서 다음 글자를 예측 (한 번에 한 글자씩 새로운 텍스트를 생성할 수 있다.) 순차 데이터셋을 나누는 방법 텍스트에 있는 글자는 섞으면 안 된다. 훈련 세트, 검증 세트, 테스트 세트가 중복되지 않도록 만드는 것이 중요 (두 세트 사이에 문장이 걸치지 않고 완전히 분리될 수 있도록 세트 사이에 간격을 두는 것도 좋은 생각) 시계열을 다룰 때는 보통 시간에 따라 나눈다. (경우에 따라 훈련할 시간 간격을 더 길게 하기 위해 다른 차원을 기준으로 나눌 수도 있지만 시간에 따라 나누는 것이 안전) 암묵적으로 RNN이 과거(훈련 세트)에서 학습하는 패턴이 미래에도 등장한다고 가정 다른 말로 하면 이 시계열 데이터가 (넓은 의미에서) 변하지 않는다stationary고 가정 ..