Skip to main content

maximum-entropy-network-structure-function

Maximum entropy principle for neural network connectivity that reveals how task constraints shape neural population structure without dependence on training procedure. Use when analyzing neural connectivity patterns, studying structure-function relationships, or designing normative models of neural computation.

설치로 이동

소스 정보

저장소
hiyenwong/ai_collection
최근 소스 활동
2026년 6월 4일 13:32
감지된 SKILL.md 언어
영어
스타
2
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
maximum-entropy-network-structure-function
description
Maximum entropy principle for neural network connectivity that reveals how task constraints shape neural population structure without dependence on training procedure. Use when analyzing neural connectivity patterns, studying structure-function relationships, or designing normative models of neural computation.
tags
["neuroscience","neural-networks","maximum-entropy","connectivity","computational-neuroscience","brain-network","normative-models"]
version
1.0
source
arXiv:2605.25607
# Maximum Entropy Networks for Structure-Function Relationships ## Overview This methodology proposes a **normative, training-algorithm-independent** approach to understanding how neural network function constrains connectivity. Instead of training networks with gradient descent and examining the resulting structure, it derives the unique maximum-entropy connectivity distribution subject to task constraints. **Core insight**: Task constraints + entropy maximization = population structure emergence, matching gradient-trained networks quantitatively across learning regimes. ## When to Use - Analyzing why neural populations have specific connectivity patterns - Understanding context-dependent computation in neural circuits - Designing normative (principled) models of neural connectivity - Validating that trained neural network structure reflects task requirements rather than training artifacts - Studying transitions between specialized and unspecialized neural populations ## Methodology ### 1. Framework Setup ```python # Represent connectivity as probability distribution over single-neuron weights # W ~ p(W) where W ∈ R^{N×N} # Express task requirements as constraints on the distribution # E[f_k(W)] = c_k for k = 1, ..., K (task constraints) # Maximize Shannon entropy H[p] = -∫ p(W) log p(W) dW # subject to constraints → unique maximum entropy distribution ``` ### 2. Key Mathematical Result The maximum entropy distribution over connectivity takes the Boltzmann form: ``` p(W) ∝ exp(-∑_k λ_k f_k(W)) ``` where λ_k are Lagrange multipliers determined by constraints. **Analytical tractability**: Map nonlinear networks onto gain-modulated linear models: ``` output = G(c) · W · input # G(c) = context-dependent gain matrix # Nonlinear network ≅ gain-modulated linear model analytically ``` ### 3. Context-Dependent Input Selection Task For a network selecting relevant inputs based on context c: ```python # Task constraint: correct input selected for each context # E[correct_output | context=c] = target_c for all contexts c # Result: emergence of distinct neuron populations # Each population defined by contextual gain pattern g_i(c) # Population i responds to context c with gain g_i(c) ``` ### 4. Phase Transitions Two key parameters drive population structure transitions: ``` Weight scale β: β → 0: random, unstructured connectivity β → ∞: structured, task-optimized connectivity Number of contexts K: K small: context-specialized populations emerge K large → ∞: unspecialized, random populations ``` ### 5. Matching Gradient-Trained Networks The maximum entropy framework **quantitatively matches** networks trained by: - Gradient descent (SGD, Adam) - Hebbian learning - Various learning rates and regularization schemes This suggests maximum entropy is a fundamental principle, not a property of any particular algorithm. ## Implementation Steps ### Step 1: Define Task Constraints ```python def compute_task_constraints(task, network_params): """ Extract task requirements as statistical constraints. Returns: constraints: list of (function, target_value) pairs """ constraints = [] for context in task.contexts: # Constraint: network produces correct output for this context f_k = lambda W, c=context: task.evaluate(W, c) c_k = task.target_output(context) constraints.append((f_k, c_k)) return constraints # Apply to context-dependent input selection contexts = [0, 1, 2, ..., K-1] # K contexts targets = [input_0, input_1, ..., input_{K-1}] # correct input per context ``` ### Step 2: Compute Maximum Entropy Distribution ```python from scipy.optimize import minimize def maximum_entropy_connectivity(constraints, beta=1.0): """ Compute maximum entropy distribution parameters. Returns: lambdas: Lagrange multipliers p_star: maximum entropy distribution """ # Solve dual problem: minimize free energy F(λ) = log Z(λ) + λ·c def free_energy(lambdas): Z = compute_partition_function(lambdas, beta) return np.log(Z) + lambdas @ constraint_values result = minimize(free_energy, x0=np.zeros(len(constraints))) lambdas = result.x return lambdas ``` ### Step 3: Analyze Population Structure ```python def analyze_populations(lambdas, network_params): """ Identify emergent neural populations from maximum entropy solution. Each population = cluster of neurons with similar gain patterns g(c). """ # Compute expected gains per neuron per context gains = compute_expected_gains(lambdas, network_params) # Cluster neurons by gain pattern from sklearn.cluster import KMeans populations = KMeans(n_clusters=K).fit_predict(gains) return populations, gains ``` ## Key Results ### Population Emergence - With K contexts, maximum entropy solution naturally creates **K distinct populations** - Each population i has a characteristic gain pattern: g_i(c) = high for context i, low otherwise - This matches experimental observations of mixed-selectivity neurons in PFC ### Transition Diagrams ``` β (weight scale) vs K (contexts): β large ↑ | STRUCTURED STRUCTURED | SPECIALIZED → UNSPECIALIZED | (K populations) (random) | | RANDOM RANDOM | SPECIALIZED UNSPECIALIZED +----------------------→ K large ``` ### Quantitative Match with Gradient Descent For 2-layer networks on context-dependent tasks: - **Population count**: MaxEnt predicts K populations; gradient descent produces K populations - **Gain patterns**: Correlation > 0.95 between MaxEnt and trained networks - **Selectivity**: Both show parallel transition from structured to random at same β threshold ## Applications ### 1. Understanding Prefrontal Cortex ```python # PFC shows mixed selectivity to contexts, tasks, stimuli # Maximum entropy + task constraints predicts this without assuming specific circuit contexts = ['attention_left', 'attention_right', 'task_A', 'task_B'] # → predicts ~4 mixed-selectivity populations matching electrophysiology ``` ### 2. Normative Model Validation ```python # Test: does trained network match maximum entropy prediction? def validate_against_maxent(trained_W, task): maxent_stats = compute_maxent_statistics(task) trained_stats = compute_statistics(trained_W) correlation = np.corrcoef(maxent_stats, trained_stats)[0,1] print(f"MaxEnt-Training correlation: {correlation:.3f}") # Values > 0.9 indicate task constraints (not training) drive structure ``` ### 3. Network Design ```python # Design networks that maximally express task structure # vs. networks that are maximally random (robust) optimal_beta = find_task_performance_threshold(task) network = sample_from_maxent_distribution(lambdas, beta=optimal_beta) ``` ## Pitfalls - **Constraint definition matters**: Poorly defined task constraints → wrong population structure - **Analytical tractability**: Only works with gain-modulated linear approximation; nonlinear regimes require MCMC sampling - **Assumes task is fully specified**: Real neural circuits have many implicit constraints not captured by explicit task definition - **Phase boundaries are task-specific**: K and β thresholds depend heavily on the specific computation ## Key References - **Primary**: Hruza & Ostojic (2026). "Balancing structure and randomness: maximum entropy networks for context-dependent computations." arXiv:2605.25607 - Jaynes (1957). Maximum entropy principle - Rigotti et al. (2013). Mixed selectivity in PFC, Nature - Sompolinsky & Zippelius (1982). Gain modulation in neural networks ## Activation Keywords maximum entropy, neural connectivity, structure-function, context-dependent computation, normative model, population structure, gain modulation, weight scale, mixed selectivity, prefrontal cortex, task constraints, Shannon entropy, Boltzmann distribution
GitHub에서 보기