종합 정보 이론(IIT)을 처리하기 위해 라이브러리 PyPhi 가져오기

이마


《의식이 언제 생겨나는가-뇌의 수수께끼에 도전하는 종합정보이론》이 책을 읽은 후에 나는 종합 정보 이론에 흥미를 느꼈다.
·빛이'입력에 출력이 있다'면 신경세포든 and회로든 똑같아 의식이 있다고 할 수 없다.
・ 종합 정보 이론에서 의식은'각종 정보를 종합하는 능력'을 가리킨다.
· "각종 정보를 종합하는 능력"보유Φ라는 이름입니다.어떤 조직의 구성원Φ계산을 통해 계량화할 수 있다.
그렇습니다.
한편으로는 매우 재미있다고 느끼면서 한편으로는 책을 본다Φ의 계산 방법이 구체적으로 나오지 않는다.
어쩔 수 없어요. 인터넷에서 많이 찾아봤는데python에서Φ의 값에 대한 라이브러리입니다.
공식 페이지
https://pyphi.readthedocs.io/en/latest/index.html
Φ의 계산 방법도 잘 쓰여 있다.↓
https://journals.plos.org/ploscompbiol/article/file?id=10.1371/journal.pcbi.1006343.s001&type=supplementary
(전체 227쪽
계산 방법이 매우 복잡하고 양도 많으며 매우 피곤하기 때문에 먼저 도입 방법과 실제 사용의 예를 총결해 보자.
구체적인 계산 방법은 다른 문장에 있다.

가져오기

pip install pyphi
를 참고하십시오.그런데 맥스OS와 리눅스용 라이브러리라고 쓰여 있는데 실제로 자신의 윈도우즈를 사용해 봤는데 오류가 났어요.
창에 conda 명령을 사용합니다.
conda install -c wmayner pyphi
이렇게 하면 가져올 수 있다.
또한 구글 Colaboratory를 사용하면 pip에서 가져올 수 있습니다.
!pip install pyphi

사용 예


우선 아래의 유방향 도표를 고려한다.(그림은networkx 출력을 사용)

인접 행렬로 표시하면
  \boldsymbol{CM} = \left(
    \begin{array}{ccc}
      0 & 1 & 1 \\
      1 & 0 & 1 \\
      1 & 1 & 0
    \end{array}
  \right) 
이런 식이야.
이 세 가지 요소는 모두 1 또는 0의 상태이다.
사람마다 두 가지가 있기 때문에 모두 2^3=8달러의 상태가 됩니다.줄을 서봅시다.
A
B
C
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
모든 요소는 입력과 출력이 있고 그 외에 자신의 상태는 변하지 않는다t달러의 상태(왼쪽)부터 각자 연결된 요소를 입력하고 출력한 결과 $t+1달러의 상태(오른쪽)처럼 변화가 생겼다.
t
t+1
A
B
C
A
B
C
0
0
0

0
0
0
1
0
0

0
0
1
0
1
0

1
0
1
1
1
0

1
0
0
0
0
1

1
0
0
1
0
1

1
1
1
0
1
1

1
0
1
1
1
1

1
1
0
우리 행렬의 형식으로 이 표를 표시합시다.그러나 왼쪽 ($t 달러 상태) 은 표준화되어 생략할 수 있습니다.
  \boldsymbol{TPM} = \left(
    \begin{array}{ccc}
      0 & 0 & 0 \\
      0 & 0 & 1 \\
      1 & 0 & 1 \\
      1 & 0 & 0 \\
      1 & 0 & 0 \\
      1 & 1 & 1 \\      
      1 & 0 & 1 \\
      1 & 1 & 0 \\
    \end{array}
  \right) 
TPM(transition probability matrix, 마이그레이션 확률 매트릭스)이라고 합니다.이 값은 1이 되는'확률'을 나타내는데 실제로는 1이나 0뿐만 아니라 0.9 등 다른 값도 있다.이 경우'0.9의 확률은 1'이다.
그럼 이 네트워크를 만듭시다.
import pyphi
import numpy as np
tpm = np.array([
     [0, 0, 0],
     [0, 0, 1],
     [1, 0, 1],
     [1, 0, 0],
     [1, 0, 0],
     [1, 1, 1],
     [1, 0, 1],
     [1, 1, 0]
 ])
cm = np.array([
     [0, 1, 1],
     [1, 0, 1],
     [1, 1, 0]
 ])
labels = ('A', 'B', 'C')
# この場合のcmは省略可能
network = pyphi.Network(tpm, cm=cm, node_labels=labels)
생성된 네트워크에서ΦA, B, C의 초기 상태를 설정합니다.지금은 (1, 0, 0)입니다.
state = (1, 0, 0)
계산 대상인sub시스템(소시스템, 하부조직)결정하다.이번에는 모든 요소가
node_indices = (0, 1, 2)
subsystem = pyphi.Subsystem(network, state, node_indices)
# 今回はこれでも可
# subsystem = pyphi.Subsystem(network, state)
이 초기 상태를 가지고 놀면서 대상의 정보 통합 능력을 측정한다.
그럼Φ자, 계산해.
pyphi.compute.phi(subsystem)
# 1.916665
다 됐습니다.
이번 계산 대상은 방금 붙인 계산 방법의 설명 자료을 사용하고 같은 계산 결과는 220페이지에서 도출한다.
구체적인 계산 방법은 다음 글에서 정리하고 싶고, 상세한 순서를 보고 싶은 사람은 공식부터 읽어주세요.

참고 자료


줄리오 토노니의 《의식이 언제 뇌의 수수께끼에 도전하는 종합정보이론》 아기서재
PyPhi 공식 문서
https://pyphi.readthedocs.io/en/latest/index.html

좋은 웹페이지 즐겨찾기