본문 바로가기

728x90

ComputerScience

(329)
Network Layer - 6. Control Plane (2) 이제까지 배운 라우팅은 다 이상적인 상황을 가정했다. (flat한 network 모형) 실제로는 네트워크를 구성하는 라우터가 동일하지도 않다. 라우팅 테이블에 억단위의 목적지 정보를 다 저장할 수는 없다. (당연히 exchange를 위한 트래픽이 오히려 증가할 것이다) 따라서 실제 네트워크 환경은 scalability를 위해 hierarchy가 있다. 실제 internet은 여러 intranet들의 inter-networking으로 구성된다. 각 intranet 관리자는 자신들의 네트워크 라우팅을 직접 관리하고 싶을 수 있다. intranet 집단을 하나의 autonomous system(AS)이라고 부른다. AS끼리의 routing을 inter-AS routing이라고 한다. 이때 가장 많이 사용하는 ..
Network Layer - 5. Control Plane (1) 네트워크는 2개의 주요 기능이 있다고 했다. - 패킷을 router의 Input에서 올바른 output으로 이동시키는 forwarding(data plane) - src에서 dst으로 패킷을 전달할 경로를 결정하는 routing(control plane) 1. Per-router control plane 모든 router에서 각각 forwarding table을 만든다. routing algorthim으로 table을 만들고 관리한다. 2. Logically centralized control plane(SDN) 각 router안에 있는 local control agent(CAs)가 (보통 원격으로 따로 존재하는) controller에게 정보를 보내준다. 그럼 controller가 알고리즘으로 각 rou..
패턴인식 - 9. Ensemble - Boosting - 지난시간에 ensemble의 개념과 bagging에 대해 알아보았다. - 이번에는 ensemble의 종류 중 다른 하나인 boosting에 대해 알아보자. 1. Boosting - 학습데이터가 제한적일 때 분류기의 성능을 높이고 싶은 경우 활용된다. - 보통은 2개 class classification의 경우 사용된다. - 데이터셋이 상대적으로 작을 때, 컴퓨팅 파워가 약할 때, 도움이 될 수 있다. - AdaBoost는 bagging과 달리 bias를 낮추는데 기여한다. - 부스팅은 분류기를 연속적으로 학습시킨다. 특히 잘못 분류한 데이터에 초점을 맞춰서 다시 학습시킨다. - D1에 대해 분류를 수행해보았다. 초록 공간, 흰 공간 안에 보면 error들이 있다. 이런 분류기를 weak classif..
Computer vision - Motion 1. motion field - 영상의 모션은 벡터로 나타낼수 있다. 시간에 따른 픽셀들의 x의 변화, y의 변화를 나타내기 때문이다. - 오른쪽으로 큐브가 회전하고 있다. - 이를 모션 field라고 한다. 2. optical flow - 물체가 움직이면 밝기 변화가 생긴다. - 2d영상에서 시간에 따라 물체가 이동할 때, 밝기가 변하는 패턴을 통해 motion을 인식하는 것을 optical flow라고 한다. - 화면을 block으로 나눈다. - 영상에서 사람이 문 쪽으로 다가가면 생기는 block단위의 밝기 변화 패턴을 감지하면 이렇게 이동 방향을 벡터로 나타낼 수 있다. - corner 등의 feature가 시간에 따라 어디로 이동했는지 탐지하면 그게 feature tracking이다. - mot..
Computer vision - Image segmentation 1. Segmentation - 이미지를 구성하는 성질들을 분리해 내는 것을 말한다. - 공간, 색 거리가 가까운 픽셀들을 묶어서 superpixel을 구분지을 수 있다. - 대상과 배경의 분리, 영상에서 교통 표지판, 사람, 자동차 의미 객체를 분리 등이 segmentation이다. - 사람의 인지 능력에 다가가기 위한 노력의 중간 단계라고 볼 수 있다. 2. clustering - 픽셀의 특징에 따라 군집을 이루도록 해서 segmentation을 수행한다. (K-means, Mean shift) - 특징 공간은 RGB 색일 수도 있고 x,y좌표일 수 있다. 이 특징에 따라 관련도가 높은 영역끼리 군집화한다. 3. K-means clustering - high similarity를 갖는 묶음들을 to..
소프트웨어공학 - 18. SOLID inheriance- 지난시간 GRASP에 이어서 이번 장에서는 OOP 설계 원칙 중 또 하나인 SOLID 설계 principle을 살펴보자. 1. Design Smell - 소프트웨어, 시스템이 잘못 디자인 되었을 때, design smells라고한다. - Rigidity, 경직성 : 시스템 변경이 어렵다. 변경하려면 건드려야할 부분이 너무 많다. - Fragility, 취약성 : 한군데 변경하면 잘못되는 부분이 많은 취약한 상태 - immobility, 부동성 : 재사용성이 떨어짐, 너무 엉켜있어서 코드의 이동성이 떨어짐 - viscosity, 점착성 : 초기 디자인대로 시스템을 확장하기 너무 어려운 경우 - needless complexity, 불필요 복잡성 : 설계가 너무 불필요하게 복잡하다. -..
멀티코어컴퓨팅 - 11. CUDA programming GPU 위에서 돌아가는 병렬 처리 프로그램을 만들어보자. CUDA는 오직 NVDIA GPU에서만 돌아간다. *CUDA code를 google colab에서 실행하는 방법 : https://www.geeksforgeeks.org/how-to-run-cuda-c-c-on-jupyter-notebook-in-google-colaboratory/ How To Run CUDA C/C++ on Jupyter notebook in Google Colaboratory - GeeksforGeeks A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programmin..
Network Layer - 4. IP: Internet Protocol (2) 1. DHCP (Dynamic Host Configuration Protocol) host는 어떻게 ip를 할당 받을까? 직접 할당 받은 아이피를 매뉴얼하게 설정할 수 있다. 대부분은 동적으로 ip를 할당 받는다. 카페, 학교에서 와이파이, 이더넷을 연결하면 자동으로 아이피를 할당 받는다. 이를 도와주는 것이 DHCP 프로토콜이다. host가 DHCP 서버로 부터 아이피를 할당 받는 과정은 다음과 같다. 1. host가 DHCP 서버 주소를 모를때 : broadcast로 DHCP discover msg를 보낸다. src는 아직 아이피가 없기 때문에 0.0.0.0이다. (이 과정은 때때로 optional이다.) 2. DHCP가 그 메시지를 받고 응답으로 DHCP offer msg를 보낸다. dest를 아직..

728x90